洛谷 P1134 阶乘问题 题解

题面

很裸的边取模边乘。注意因为进位的原因模数应该比较大;

另外,这道题是一道标准的分块打表例题(那样的话数据就可以更大了),可以用来练习分块打表;

#include<bits/stdc++.h>
using namespace std;
int n;
long long zc=1;
int main()
{
    scanf("%d",&n);
    for(register long long i=2;i<=n;i++) 
    {
        zc%=100000000000;
        zc=zc*i;
        while((zc%10)==0) zc/=10;
    }
    cout<<(zc%10);
}

猜你喜欢

转载自www.cnblogs.com/kamimxr/p/11519014.html