acm-mdd的烦恼

来源:互联网 发布:日本爱知世博会ppt 编辑:程序博客网 时间:2024/04/30 14:07

mdd的烦恼

时间限制:1000 ms  内存限制:65535 KB
难度:3
描述
今天mdd看到这么一段话:在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler'stotient function、φ函数、欧拉商数等。例如φ(8)=4,因为1,3,5,7均和8互质。于是他想用计算机实现欧拉函数的功能,但是他又不想去写,你能帮帮他吗?
ps:互质(relativelyprimeì)又叫互素。若N个整数的最大公因数是1,则称这N个整数互质
输入
有多组测试数据组数小于1003,
每组测试数据有一个整数n(0
输出
输出欧拉函数φ(n)的值。
样例输入
2646
样例输出
1222
上传者
苗栋栋


 

代码:

#include
int sum(int n)
{
 int temp=n;
 for(int i=2;i*i<=n;i++)
 {
  if(n%i==0)
  {
   while(n%i==0)n/=i;
   temp=temp/i*(i-1); 
  }
 }
 if(n!=1)
  temp=temp/n*(n-1);
 return temp;
}
int main()
{
 int n;
 while(scanf("%d",&n))
 {
  printf("%d\n",sum(n));
 }
 return 0;
}

原创粉丝点击