记录编号 |
252798 |
评测结果 |
AAAAAAAAAA |
题目名称 |
最小生成树 |
最终得分 |
100 |
用户昵称 |
农场主 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.008 s |
提交时间 |
2016-04-21 07:58:25 |
内存使用 |
0.33 MiB |
显示代码纯文本
- #include<cstdio>
- #define mod 100000007
- #define maxn 20000
- using namespace std;
- int p[maxn+100]={0};
- void Euler(){
- for (int i=1;i<=maxn;i++) p[i]=i;
- for (int i=2;i<=maxn;i++) if (p[i]==i){
- for (int j=i;j<=maxn;j+=i){
- p[j]=p[j]/i*(i-1);
- }
- }
- return;
- }
- int main(){
- freopen("msta.in","r",stdin);
- freopen("msta.out","w",stdout);
- Euler();
- int n;
- long long ans=1;
- scanf("%d",&n);
- for (int i=1;i<=n;i++){
- ans=(ans*p[i])%mod;
- }
- printf("%d",ans);
- return 0;
- }