计算阶乘并判断是否溢出

xiaoxiao2025-07-16  11

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; }
转载请注明原文地址: https://www.6miu.com/read-5033182.html

最新回复(0)