我尝试了以下挑战:
鉴于前几个因素:
1!= 1
2!= 2 x 1 = 2
3!= 3 x 2 x 1 = 6
4!= 4 x 3 x 2 x 1 = 24
前15个阶乘的总和是多少,不包括0!?
我在Java中的解决方案如下:
public class Factorial
{
public static void main(String[] args)
{
int sum = 0;
int multi = 1;
for (int i=1;i<=15;i++)
{
multi = multi*i;
sum = multi+sum;
}
System.out.print(sum);
}
}
Run Code Online (Sandbox Code Playgroud)
我验证了前7个阶乘的解决方案,但是它适用于前15个吗?
由于整数溢出,它不适用于前15个阶乘.正确的答案是1401602636313,它超过了Java的int2147483647 的界限.您可以使用long具有9223372036854775807或a的界限BigInteger.
| 归档时间: |
|
| 查看次数: |
2386 次 |
| 最近记录: |