题目描述
输入一个正整数n。输出n!的最高位上的数字。
输入
输入一个正整数n(n不超过1000)。
输出
输出n!的最高位上的数字。
样例输入
1000
样例输出
4
提示
注意double类型溢出问题。
代码
#include <stdio.h>
#include <math.h>
int main(){
int n,i,t=0;
double r=1.0;
scanf("%d",&n);
for (i = 1; i <=n ; i++) {
r*=i;
while(r>=100000)
{
r/=1000;
}
}
t =(int)log10(r);
t = r/(pow(10, t));
printf("%d",t);
return 0;
}