Cod sursa(job #2476767)
Utilizator | Data | 19 octombrie 2019 11:25:33 | |
---|---|---|---|
Problema | Fractii | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 kb |
#include <iostream>
using namespace std;
int n,rez,f;
void desc(int n)
{ rez=n;
if(n%2==0)
rez=rez/2;
while(n%2==0)
{
n/=2;
}
for(int d=3; d*d<=n; d+=2)
{
if(n%d==0)
rez=(rez/d)*(d-1));
while(n%d==0)
{
n/=d;
}
}
if(n!=1)
rez=(rez/n)*(n-1));
cout<<rez;
}
int main()
{
cin>>n;
desc(n);
return 0;
}