题目描述
blablabla
样例
#include<iostream>
#include<algorithm>
#include<unordered_map>
#include<cmath>
using namespace std;
typedef long long ll;
int fun(int a,int b,int p){
int res=1;
while(b){
if(b&1) res=(ll)res*a%p;
a=(ll)a*a%p;
b>>=1;
}
return res;
}
int main(){
int n;
cin>>n;
unordered_map<int,int>a;
for(int i=2;i<=n;i++){
int k=i;
for(int j=2;j<=k/j;j++){
while(k%j==0){
a[j]++;
k/=j;
}
}
if(k>1) a[k]++;
}
int res=1;
a[2]-=a[5];
for(auto i:a){
int p=i.first,k=i.second;
if(p==5) continue;
int o=fun(p,k,10);
res=res*o%10;
}
cout<<res<<endl;
return 0;
}
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla