标题:求满足1+2!+3!+...+n!<=A的最大整数n,代码如下
只看楼主
加法
Rank: 1
等 级:新手上路
帖 子:33
专家分:2
注 册:2013-11-3
结帖率:80%
已结贴  问题点数:14 回复次数:3 
求满足1+2!+3!+...+n!<=A的最大整数n,代码如下
输入
2
10
9
43954713
输出
1
3
3
11
我的代码如下:结果可以输出来并且正确,但是提交到OJ上时却错误,这有可能是什么错误?

import java.util.*;

public class Main {
    public static int fun(int n) {
        int s = 1;
        for (int i = 1; i <= n; i++) {
            s *= i;
        }
        return s;
    }

    public static void main(String[] args) {
        Scanner cin = new Scanner(System.in);
        int a, sum = 0, n = 0;
        while (cin.hasNext()) {
            a = cin.nextInt();
            if (a == 0) {
                break;
            } else {
                for (; n <= a; n++) {
                    sum += fun(n);
                    if (sum >= a) {
                        break;
                    }
                }
                System.out.println(n);
            }
        }
    }
}
搜索更多相关主题的帖子: public return import 
2014-02-27 10:44
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:14 
超大数  INT类型的表示不了

DO IT YOURSELF !
2014-02-27 12:14
加法
Rank: 1
等 级:新手上路
帖 子:33
专家分:2
注 册:2013-11-3
得分:0 
回复 2楼 wp231957
那单把 a 的类型改成 BigInteger,还要强制转成 int 么
2014-02-27 15:36
ywg0503
Rank: 2
等 级:论坛游民
帖 子:6
专家分:11
注 册:2014-3-2
得分:0 
改成long类型就行了,实验了,没问题
2014-03-03 21:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-427738-1-1.html




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

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