1075: 求n!
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 3741 Solved: 1188
[ Submit][ Status][ Web Board]
Description
输入一个正整数 repeat (0<repeat<10),做repeat 次下列运算:
读入 1 个正整数 n (n<=22),计算并输出 n! 。
Input
见sample
Output
见sample
Sample Input
31105
Sample Output
13628800120
因为是22的阶乘已经超过int 类型的范围。所以改用double类型的
因为是22的阶乘已经超过int 类型的范围。所以改用double类型的
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
using namespace std;
int main()
{
int repeat,n;
double sum;//改用
scanf("%d",&repeat);
while(repeat--)
{
sum=1;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
sum*=i;
}
printf("%.0lf\n",sum);
}
return 0;
}