NYOJ 479 欧拉函数

来源:互联网 发布:3乘3矩阵卷积运算 编辑:程序博客网 时间:2024/05/16 07:48

    水题,不解释。。。题目:

Coprimes

时间限制:500 ms  |  内存限制:4096 KB
难度:1
描述
For given integer N (1<=N<=104) find amount of positive numbers not greater than N that coprime with N. Let us call two positive integers (say, A and B, for example) coprime if (and only if) their greatest common divisor is 1. (i.e. A and B are coprime iff gcd(A,B) = 1).
输入
Input file contains integer N.( 注意:程序以文件结束符“EOF”结束输入。)
输出
Write answer in output file. 每个数字占一行。
样例输入
9
样例输出
6
ac代码:

#include <iostream>#include <cstdio>#include <cmath>using namespace std;int main(){  int n;  while(~scanf("%d",&n)){    int ans=n;int m=sqrt(n+0.5);for(int i=2;i<=m;++i){  if(n%i==0)  ans=ans-ans/i;  while(n%i==0)  n/=i;}if(n>1)ans=ans-ans/n;printf("%d\n",ans);  }  return 0;}


原创粉丝点击