java用递归算法求 1-2+3-4+5-6......+

如题所述

第1个回答  推荐于2017-09-15
楼上的,题目要求用递归算法!(你以为把类起名叫DiGui,就是真的递归了吗?哈哈,开个玩笑)
public class A {

public static int d(int n) {
int temp = n;
if (n == 1) {
return 1;
}
if (n % 2 == 0) {
n = -n;
}
return n + d(temp - 1);//这句是关键,它又调用了自己,这才叫递归
}

public static void main(String[] args) {
System.out.println(A.d(11));
}
}本回答被提问者采纳
第2个回答  2012-06-18
//花了几分钟就写出来了,哈哈,代码很简单,就不写注释了,有疑问,再问
public class DiGui {
public static void main(String args[]){
int n = 3;
int rst = getResult(n);
System.out.println(n+"的执行结果:"+rst);
}
public static int getResult(int n){
int result = 0;
for(int i=1;i<=n;i++){
switch(i%2){
case 0:result -=i;
break;
case 1: result += i;
break;
}
}
return result;
}
}

java编写程序求解:1-2+3-4+5…….n?
回答:输入n; int fh=1; int result; for(int i=1;i<+n;i++){ result=result+i*fh;\/\/i*fh,fh一次等于+1,一次等于-1,就变成了加一次,减一次了. fh=-fh;\/\/符号每次都变成相反的了,比如第一次是+1,第2次就变成(fh=-fh)-1。 } System。out。println(result);

用递归算法求1~100的和,用java写。
public class Test { \/*创建类*\/public static void main(String[] args) {System.out.println(dg(100));}static int dg(int i) { \/*定义变量 *\/int sum;if (i == 1) \/*假设条件*\/return 1;elsesum = i + dg(i - 1); \/*1~100的和的表达式*\/return sum; \/*...

在java中 将1到100累加起来怎么做?
很简单,如下:public class Add { public static void main(String[] args) { int num = 0; for(int i=1;i<=100;i++){ num += i;\/\/等价于num = num + i; } System.out.println("1到100累加和为:" + num); }} ...

详解Java递归(Recursion)通过递归解决迷宫回溯及八皇后问题
\/** * 使用递归回溯来给小球找路 * @param map 表示地图 * @param i j 从那个位置开始找 * @return 如果找到通路,就返回true,否则返回false * 如果小球能到 map[6][5]位置,则说明通路找到了 * 约定:当map[i][j] 为0表示该点没有走过当为1表示墙。如果为2表示通路可以走,3表示该...

编写一个java程序,计算1+2!+3!+4!+……前100项之和
public class 阶乘和 { public static void main(String[] args) { int ji=1;int sum =0;for(int i=1;i<=10;i++) { ji=ji*i;sum = sum+ji;System.out.println(ji);} System.out.println("和为:"+sum);} } 这是小于10 的,他的和为4037913 ,所以100 你得改数据类型,太...

用java求1到30 的阶层和 用方法
阶乘的公式是 n!=n*(n-1)*(n-2)...*2*1 这个公式可以通过一个java的循环来实现,也就是第一种方法。for(int i=number; i>0;i--)这个循环在i=0的时候结束, 而阶乘的结果通过result*=i来计算。public static int compute(int number){ int result=1;for(int i=number;i>0;i--)...

java递归求和
写了一个求 1+2+3+4+...+n 的和的递归方法。递归求和 调用上述方法calcSum(10),结果输出 55.

用JAVA编写程序,计算1!+2!+3!+…+n!的和,其中阶乘的写一个方法...
public class Factorial { \/\/下面的这个方法利用递归的方法求阶乘 public int getFac(int m){ if(m==1){ return 1;} else { return m*getFac(m-1);} } public static void main(String args[]){ Factorial fac=new Factorial();\/\/System.out.println(fac.getFac(4));int sum=0;for(...

java编程计算1+3!+5!+...+(2n-1)! 前10 项和。小弟编写的代码如下
+sum);首先你的循环中i=1在无限循环,要改成i++,就是每循环一次i递增1 然后你是要加到19为止,就必须是2*i-1<=19 然后 1! = 1 3! = 1*2*3 5! = 1*2*3*4*5 这些必须体现出来,也就是j的用处,j从1递增到2*i-1,然后乘起来形成sum1 最后把所有sum1加起来 ...

java编程求1+2+3…+100的和(用递归法)
int sum=0;for(int i=1;i<=100;i++){ sum+=i;} System.out.print(sum);} } 当然你可以将核心代码直接放在main()函数中,也可以放在某个函数中(如sum()),根据你自己的需要进行选择,如果放置在sum()函数中,可以让函数有返回值int,函数体中加return 语句,直接将变量sum返回,这样就...

相似回答