1. 程式人生 > >計算階乘並判斷是否溢位

計算階乘並判斷是否溢位

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;



}