Problem A: 1!+2!+…+k!=?
Time Limit: 1 Sec Memory Limit: 2 MB
Submit: 15257 Solved: 5273
[Submit][Status][Web Board]
Description
求1!+2!+…+k!=?,并判断是否溢出。
Input
输入为一个正整数k。
Output
若1!+2!+…+k!的值溢出unsigned(无符号整型)的范围输出“overflow”,否则输出1!+2!+…+k!的结果。
Sample Input
5
Sample Output
153
HINT
如果一个值溢出某个变量的数据类型存储范围,但仍然存入该变量,那么存入该变量中的值实际上是什么?
#include<stdio.h>
int main()
{
int i,k,j,sum=1;
unsigned int sum2=0;
scanf("%d",&k);
if(k>12)
printf("overflow\n");
else if(k>0&&k<=12)
{
for(i=1;i<=k;i++)
{
sum=1;
for(j=1;j<=i;j++)
sum*=j;
sum2+=sum;
}
printf("%u\n",sum2);
}
else
return 0;
}