用java计算30的阶乘,java 编程:计算1!+2!+3!+…..+10!,其中阶乘的计算用方法实现。...

写一个简2113单的你看看是5261否可以4102public class test{ public static void main(String args[]){ int i=1; int j=1; int sum;int n; for(;i<=n&&n>=1;i++){ j=j*i;sum=sum+j;} System.out.println("1~10的1653阶乘和专为"+sum); } }你的n当然要你自己改属,回答者:火星微生物 - 魔法师 四级 11-4 15:56,public class Factorial { //下面的这个bai方法du利用递归的方zhi法求dao阶乘 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(int i=1;i<=10;i++) { sum+=fac.getFac(i); } System.out.println("1到内10的阶乘的容和是:"+sum); }}本回答被提问者采纳,// 这问题用递归函数解决很方便、简洁class RecursiveFactorial {  static long factorial(int n) {    return n < 2 ? 1 : n * factorial(n - 1); // 递归  }  static long sumOfFactorial(int n) {    return n < 2 ? 1 : factorial(n) + sumOfFactorial(n - 1); // 也是递归  }  public static void main(String[] args) {    System.out.println("1! + 2! + 3! + ... + 20! == " + sumOfFactorial(20));  }}/ color4you 说的对// 下面是非递归式的解决class NonRecursiveFactorial {  static long factorial(long n) {    for (long i = n - 1; i > 0; i--)      n *= i;    return Math.max(1, n);              // 结果无论如何32313133353236313431303231363533e59b9ee7ad9431333234326330最少是一  }  static long sumOfFactorial(long n) {    // n声明为int也可以    long sum = 0;    while (n > 0)      sum += factorial(n--);    return Math.max(1, sum);  }  public static void main(String[] args) {    System.out.println("1! + 2! + 3! + ... + 20! == " + sumOfFactorial(20));  }},楼上说的都很不错,不过可能对初学者比较难理解www.mh456.com防采集。

import org.junit.Test;public class Factorial {@Testpublic void qiuhe() {//下面三抄行可以根据不同需求改造2113成自己需要的5261,然后计算。String str = "1!4102+2!+3!+4!+5!+6!+7!+8!+9!+10!";str=str.replace("+","");String[] array=str.split("!");long sum= 0;for (int i = 0; i

import java.util.Scanner; public class A{ //下面的方法是对单个数求阶乘,并返回 public static int jieCheng(int n){ int sum=1; for(int i=1;i

7db248630e74f9aac615240e18b8f987.png

内容来自www.mh456.com请勿采集。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值