| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9864 人关注过本帖
标题:如何用java变出1到20阶乘的和
只看楼主 加入收藏
glc444900279
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-3-17
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
如何用java变出1到20阶乘的和
如何用java变出1到20阶乘的和
搜索更多相关主题的帖子: java 如何 
2013-09-19 12:41
爱馨妍小妹妹
Rank: 2
等 级:论坛游民
帖 子:7
专家分:17
注 册:2013-9-19
收藏
得分:10 
先用递归算法算出每阶的值,然后再把他们加在一起
public class JieCen {
public static void main(String[] args) {
   
    long sum=0;
    for(int j=1;j<=20;j++)
    {
        sum+=digui(j);
        
    }
    System.out.println("1!-20!的总和为:"+sum);
}
public static long digui(int j)
{
    long temp;
    if(j>1)
    temp=j*digui(j-1);
    else
        temp=1;
    return temp;
    }
}


[ 本帖最后由 爱馨妍小妹妹 于 2013-9-19 23:42 编辑 ]
2013-09-19 23:32
christxh
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2013-9-19
收藏
得分:10 
2013-09-20 20:45
我的日子里
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-9-21
收藏
得分:0 
  换一种更简单的方法吧
2013-10-28 09:00
蔡梓锋
Rank: 4
等 级:业余侠客
帖 子:106
专家分:202
注 册:2013-4-20
收藏
得分:0 
public class Sun {
public static void main(String[] args) {
   
    long sum=0,sum1=1;
    for(int j=1;j<=20;j++)
    {
        for(int i=1;i<=j;i++)
            sum1=sum1*i;
            sum+=sum1;
            sum1=1;
        
    }
    System.out.println("1!-20!的总和为:"+sum);
   }
}
今天刚学java,有c的基础,还是写的出这个程序的;

加油加油!
2013-10-29 07:31
javasm
Rank: 2
等 级:论坛游民
帖 子:4
专家分:13
注 册:2013-11-9
收藏
得分:0 
经常都有朋友问如何学好JAVA,网上已经说了很多,我也写了很多关于这方面的文章,但还是有很多朋友

不停在问,这到底是什么原因讷,其实问这个问题的朋友只是不知道大家谁说的是真话,也不知道以前说

的现在还实用不,这里,我再与大家简单的分享一下,如何学好JAVA:多看,多炼,多思考,多重复前三

多,来源java. java学习服务舟,欢迎与java船长做朋友
2013-11-09 20:08
琢石成器
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:36
专家分:160
注 册:2013-11-10
收藏
得分:0 
用面向对象的思想来开发:

public class Test {
   
    public static void main(String[] args){
        
        Test t=new Test();
        int a=t.sum(20);
        System.out.print("1~20阶乘的和为:"+a);
        
    }
   
    //计算n的阶乘
    public int factorial(int n){
        
        int amass=1;
        for(int i=1;i<=n;i++){
            amass*=i;
        }
        return amass;
    }
   
    //计算1~m的阶乘的和
    public int sum(int m){
        
        int sum=0;
        for(int i=1;i<=m;i++){
            sum+=this.factorial(i);
        }
        return sum;
    }

}

[ 本帖最后由 琢石成器 于 2013-11-10 13:46 编辑 ]
2013-11-10 13:43
琢石成器
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:36
专家分:160
注 册:2013-11-10
收藏
得分:0 
这个是可以自己输入数字的:
import java.util.*;
public class Test {
   
    public static void main(String[] args){
        
        Test t=new Test();
        int num;
        System.out.println("请输入一个整数:");
        Scanner sc=new Scanner(System.in);
        num=sc.nextInt();
        int a=t.sum(num);
        System.out.println("1~"+num+"阶乘的和为:"+a);
        
    }
   
    //计算n的阶乘
    public int factorial(int n){
        
        int amass=1;
        for(int i=1;i<=n;i++){
            amass*=i;
        }
        return amass;
    }
   
    //计算1~m的阶乘的和
    public int sum(int m){
        
        int sum=0;
        for(int i=1;i<=m;i++){
            sum+=this.factorial(i);
        }
        return sum;
    }

}
2013-11-10 13:57
很菜的程序猿
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2018-10-3
收藏
得分:0 
回复 5楼 蔡梓锋
不会数据溢出吗?
2018-10-03 20:05
快速回复:如何用java变出1到20阶乘的和
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017481 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved