java递归求和的代码 c语言递归求和

java编程,用递归求和1!+3!+5!...+(2n-1)!,不能用for while,在线等,

参考代码如下:

成都创新互联专注于兴山网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供兴山营销型网站建设,兴山网站制作、兴山网页设计、兴山网站官网定制、小程序设计服务,打造兴山网络公司原创品牌,更为您提供兴山网站排名全网营销落地服务。

public class JieChengSum {

/**

 * 递归求和1!+3!+5!...+(2n-1)!=最终结果

 */

public static long result = 0;

public static void main(String[] args) {

int n= 4;

calJieCheng(2*n-1); // 转换为求阶乘1!+2!+3!+...+(2n-1)!=

System.out.println("result: " +result);

}

/**

 * 递归求和1!+3!+5!...+(2n-1)!=

 * @param m 参数m为2*n-1

 */

public static long calJieCheng(int m) {

if (m == 1) {

result += 1;

return 1;

}

else {

if (m%2==1) { // 遇到奇数时才叠加

result += calJieCheng(m-1) * m;

}

return calJieCheng(m-1) * m;

}

}

}

n=4时,打印result: 5167

java用递归算法编写求1~n的累加和

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int n = sc.nextInt();

System.out.println(f(n));

}

public static int f(int n) {

if (n == 1)

return 1;

else {

return n + f(n - 1);

}

}

}

用java编程计算1+2+3+…+n的和! 偶是小白!希望编代码时讲解越详细越好

两种方法,一种直接用循环计算,用循环依次对1到n进行叠加,具体如下:

public class Exos

{

public static void main(String[] args){

int n = 10;

int sum = 0;

for(int i=0;in;i++){

sum = sum + i+1;

}

System.out.println("The sum is: " + sum);

}

}

另一种方式是直接采用求和公式(前n项和求和公式为:(首项+末项)*项数/2):

public class Exos

{

public static void main(String[] args){

int n = 10;

int sum = n*(n+1)/2;

System.out.println("The sum is: " + sum);

}

}

如果还有不清楚的地方,欢迎追问。

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

思路:先用递归求出一个数的阶乘,接着for循环累加求和。参考代码:

#include

int

fun(int

n){

if(n==1)

return

1;//递归结束条件

return

n*fun(n-1);//递归式

}

int

main()

{

int

sum=0,i;

for(i=1;i=6;i++)//for循环累加求和

sum+=fun(i);

printf("%d\n",sum);

return

0;

}

/*

运行结果:

873

*/

评论

加载更多


分享文章:java递归求和的代码 c语言递归求和
URL链接:http://ybzwz.com/article/doodgid.html