阶乘

阶乘

https://ac.nowcoder.com/acm/problem/22942

题目

求正整数 N 的阶乘的最后面的非零位。

解题思路

两个整数 a 和 b 相乘后的的值的个位数的值,只与 a 和 b 个位数上的值有关。

C++代码

#include<iostream>
using namespace std;

const int M = 1e5;

int main(){
    int N;
    cin >> N;
    int ans = 1;
    for(int i=2; i<=N; ++i){
        ans *= i;
        while(ans % 10 == 0){
            ans /= 10;
        }
        if(ans > M){
            ans %= M;
        }
    }
    cout << ans%10 << endl;
    return 0;
}
全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务