题目描述
Time Limit: 1000 ms
Memory Limit: 256 mb
也许你早就知道阶乘的含义,N阶乘是由1到N相乘而产生,如: 12! = 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 = 479,001,600 12的阶乘最右边的非零位为6。 写一个程序,计算N(1<=N<=50,000,000)阶乘的最右边的非零位的值。 注意:10,000,000!有2499999个零。
输入输出格式
输入描述:
仅一行包含一个正整数N。
输出描述:
单独一行包含一个整数表示最右边的非零位的值。
输入输出样例
输入样例#:
12
输出样例#:
6
代码:
#include<iostream>
using namespace std;
int main()
{
long long N;
cin >> N;
long long ans = 1;
for (long long num = 2; num <= N; num++) {
ans *= num;
while (ans%10 == 0) {
ans /= 10;
}
ans %= 10000000;
}
cout << ans%10 << endl;
return 0;
}