OJ.113
计算小于N的正整数中与N互素的数有多少个
#include <bits/stdc++.h>
using namespace std;
int main()
{
int x,y,k;
while(cin>>x)
{
y=x;
k=(int)sqrt(double(x)+0.5);
for(int i=2;i<=k;i++)
{
if(y%i==0)
{
x=x/i*(i-1);
while(y%i==0)
y=y/i;
}
}
if(y>1)
x=x/y*(y-1);
cout<<x<<endl;}
return 0;
}
OJ.115