题目描述
输入一个正整数n。输出n!的最高位上的数字。
输入
输入一个正整数n(n不超过1000)。
输出
输出n!的最高位上的数字。
样例输入 Copy
1000
样例输出 Copy
4
提示
注意double类型溢出问题。
#include<stdio.h>
int main()
{
int i,n;
int j;
double jc;//防止数据溢出
jc=1.0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
jc=jc*i;
while(jc>=100)//保证在两位数 防止double的自动的四舍五入
{
jc=jc/10;
}
}
if(jc<10)
{
printf("%.0f\n",jc);
}
else
{
j=(int)jc;
printf("%d\n",j/10);
}
return 0;
}