計算階乘並判斷是否溢位
阿新 • • 發佈:2018-12-17
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; }