求大神帮我看看这个题怎么写,谢谢!输入一个正整数n。输出n!的最高位上的数字。 输入 输入一个正整数n(n不超过1000)。 输出 输出n!的最高位上的数字
题目描述输入一个正整数n。输出n!的最高位上的数字。
输入
输入一个正整数n(n不超过1000)。
输出
输出n!的最高位上的数字。
样例输入
1000
样例输出
4
提示
我写的如下;
#include<stdio.h>
#include<math.h>
int ab(int a);
int main()
{
int n,s,len,b;
scanf("%d",&n);
s=ab(n);
len=(int)log10(s)+1;
b=pow(10,len-1);
s=s/b;
printf("%d",s);
return 0;
}
int ab(int a)
{
int b,j;
b=1;
for(j=1;j<=a;j++)
{
b=b*j;
}
return b;
}
可是不对;
谁能帮我解决一下,谢谢了。
[ 本帖最后由 water95 于 2015-4-11 10:17 编辑 ]