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