题解 P1134 【阶乘问题】

· · 题解

分析:

思路:

这道题一看就可以发现,是非常容易用暴力解出来的。我们只需要乘出来阶乘的结果,暴力取余+判断,就可以完美的AC过了。

原因:

首先这道题数据较弱,从N的范围就可以略知一二:

N(1≤N≤50,000,000) 暴力刚好可以AC,于是。。。。。。

代码:

#include<iostream>
using namespace std;
int main(){
    ios::sync_with_stdio(false);
    long long ans=1; //阶乘变量 
    int n;            
    cin>>n;
    for(int i=1;i<=n;i++){
        ans*=i;   //计算阶乘 
        while(ans%10==0) ans/=10; //去掉末尾无用的0 
        ans=ans%100000000;  //玄学的强大力量(数据太弱) 
    }
    cout<<ans%10;
    return 0;
}

最后吐槽:数据太弱!!!