Cod sursa(job #2237925)
Utilizator | Data | 3 septembrie 2018 22:52:41 | |
---|---|---|---|
Problema | Fractii | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
unsigned int Indicatorul_Euler(unsigned int n)
{
unsigned int i,euler=n;
if(n%2==0){
euler -= euler/2;
while(n%2==0) n/=2;}
for(i=3; i*i<=n; i+=2)
{
if(n%i==0){
euler -= euler/i;
while(n%i==0) n/=i;}}
if(n>1)
euler -= euler/n;
return euler;
}
int main()
{
unsigned int n;
long long s=0;
f>>n;
while (n!=1)
{s+=Indicatorul_Euler(n);n--;}
s+=s+1;
g<<s;
return 0;
}