CodeChef在Factorial任务中的错误答案

时间:2015-11-11 11:51:43

标签: java

我正在尝试解决CodeChef问题"Small factorials"。任务是计算给定数字的阶乘。我有以下代码,我已经检查了很多次。对我来说它提供了正确的输出,但是当我尝试将其上传到CodeChef时,它会给出错误的错误答案。

import java.util.Scanner;

class SmallFactorial {
    public static void main(String[]args){
        Scanner sc = new Scanner(System.in);
        int iterations = sc.nextInt();
        int[] myArray = new int[iterations];
        int result = 1;
        for(int b = 0; b < iterations; b++) {
            int n = sc.nextInt();
            if (n >= 1 && n <= 100) {
                for (int i = 1; i <= n; i++) {
                    result = result * i;
                }
                myArray[b] = result;
                result = 1;
            }
        }
        for(int z = 0; z < myArray.length; z++){
            System.out.println(myArray[z]);
        }
        sc.close();
    }
}

2 个答案:

答案 0 :(得分:0)

我看不到一些致命的错误,但是如果条件因为0可能有问题! = 1,你没有解决这个问题 或者您为控制此

的程序提供了错误的输出语法

答案 1 :(得分:0)

代码在我的结尾处理得很好,但仅适用于小整数。

请注意,Java中的max int值为2,147,483,647,因此某些值可能无法评估为您认为的值。

this link也可能有用。