| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1545 人关注过本帖
标题:谁来帮我看看 一个简单的问题
只看楼主 加入收藏
hgfg1645
Rank: 1
来 自:河南商丘
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-1-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:22 
谁来帮我看看 一个简单的问题
问题   设 int i 设计一个java程序,计算1!+2!+3!....+n!,变量n 的初始值在程序中指定 .


下面是我写的程序
 class tanhe
{
    public static void main(String[]args)
    {
        int n,i,m,j,sum;
        n=3;
        sum=0;
        m=1;
        for(i=1;i<=n;i++)
        {
            
            for(j=1;j<=i;j++)
            {
               
                m=m*j;
              
            }
            sum+=m;
        }
              
        System.out.println("1!+2!+3!+....n!=" +sum);
    }
}

可是 输出的结果总是错的  哪位老大帮我看看 错哪了  我调了几次总是不对  又出现另外的错误了 。。。。就是输出的数值不对 编译可以。。
搜索更多相关主题的帖子: public 
2013-05-05 23:41
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:1 
应该溢出了吧,用数组模拟试试


[fly]存在即是合理[/fly]
2013-05-06 06:46
ddtet
Rank: 4
等 级:业余侠客
帖 子:32
专家分:211
注 册:2013-5-4
收藏
得分:1 
在第一个 for{} 的开始,应该把 m 重新设定
否则会留着上次的结果,继续叠加。

改一下 m = 1 的位置应该能够解决问题
2013-05-06 09:39
hhwz
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:87
帖 子:687
专家分:4502
注 册:2011-5-22
收藏
得分:0 
为什么还要多一重循环不是一重就够了的吗
  int n,i,m,j,sum;
        n=3;
        sum=0;
        m=1;
        for(i=1;i<=n;i++)
        {
            sum+=i;
        }
              
        System.out.println("1!+2!+3!+....n!=" +sum);
2013-05-06 09:52
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用hhwz在2013-5-6 09:52:10的发言:

为什么还要多一重循环不是一重就够了的吗
  int n,i,m,j,sum;
        n=3;
        sum=0;
        m=1;
        for(i=1;i<=n;i++)
        {
            sum+=i;
        }
              
        System.out.println("1!+2!+3!+....n!=" +sum);

DO IT YOURSELF !
2013-05-06 09:54
hgfg1645
Rank: 1
来 自:河南商丘
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-1-20
收藏
得分:0 
回复 4楼 hhwz
这个是求 n的阶乘的和啊   一重循环只是求和啊

进取——不停息
2013-05-06 10:17
hgfg1645
Rank: 1
来 自:河南商丘
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-1-20
收藏
得分:0 
回复 3楼 ddtet
这个 m的位置 我挪动了好几次了 但是都是不行 结果不符合啊  最后输出的是sum 的值  m的值定义一次就够了吧

进取——不停息
2013-05-06 10:19
hhwz
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:87
帖 子:687
专家分:4502
注 册:2011-5-22
收藏
得分:1 
m=1;
放到第一重循环内
2013-05-06 10:23
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:1 
程序代码:
#include <stdio.h>

int main ()
{
    int n=1;
    int sum=0;
    for(int i=1;i<=6;i++)
    {
        n=n*i;
        sum+=n;
    }
    printf("%d",sum);

    return 0;
}
java 不懂  这是一段c代码

DO IT YOURSELF !
2013-05-06 10:27
hgfg1645
Rank: 1
来 自:河南商丘
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-1-20
收藏
得分:0 
回复 9楼 wp231957
你这个应该算的是 6!吧   题目要求是 求1到6的阶乘 的和   应该是需要双循环的  就是在双循环的时候出现错误了  不知道错哪了   不知道是不是逻辑错误

进取——不停息
2013-05-06 10:41
快速回复:谁来帮我看看 一个简单的问题
数据加载中...
 
   



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

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