参考于 https://blog.csdn.net/scanf_you/article/details/95393228
这个题目特别要注意溢出问题!!!
题目描述
输入一个正整数n。输出n!的最高位上的数字。
输入
输入一个正整数n(n不超过1000)。
输出
输出n!的最高位上的数字。
样例输入
1000
样例输出
4
提示
注意double类型溢出问题。
#include<stdio.h>
int main()
{
int n;
long long sum = 1;
scanf("%d", &n);
for (int i = 1; i <= n; i++)
{
sum = sum * i;
while (sum >= 100000000)
{
sum /= 10;
}
}
while (sum >= 10)
{
sum /= 10;
}
printf("%lld\n", sum);
return 0;
}