輸入數n;
將n!末尾的0去掉。再取最後9位。
把最後9位前面的0去掉;(把9位當做一個數,去掉無效的0)
輸出得出的數;
n最大到10000000
比如輸入38 輸出 742912
樓上的代碼思路沒有問題,有點小bug,修改之後如下:
int foo(int n)
{
long r = 1;
int i;
for (i = 2; i <= n; i++)
{
r = r * i;
while (r % 10 == 0) r /= 10;
r = r % 1000000000;
}
return r;
}
int main()
{
printf("%d\n", foo(38));
}
n=38時,結果為742912