阶乘的最高位
题目描述
输入一个正整数n。输出n!的最高位上的数字。
输入
输入一个正整数n(n不超过1000)。
输出
输出n!的最高位上的数字。
样例输入
1000
样例输出
4
思路:阶乘的话数比较大,用long long也不行,所以我们就找简便的,只要他的最高位的数,每次求得的数只要最高位的数,这样就不会范围溢出。
代码:
#include<stdio.h>
int main()
{
int n,i,j;
double x=1.0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
x=1.0*x*i;
while(x>=10)
{
x=x/10;
}
}
printf("%.0lf\n",x);
}