Mai intai trebuie sa te autentifici.
Cod sursa(job #2004353)
Utilizator | Data | 25 iulie 2017 17:42:57 | |
---|---|---|---|
Problema | Fractii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.56 kb |
#include <stdio.h>
#include <stdlib.h>
#define NMax 1000000
using namespace std;
FILE *fin,*fout;
int N,*phi;
long long k=0;
int main()
{
fin=fopen("fractii.in","r");
fout=fopen("fractii.out","w");
fscanf(fin,"%d",&N);
phi=new int[NMax+1];
for (int i = 1; i <= N; ++i)
phi[i] = i-1;
for (int i = 2; i <= N; ++i)
for (int j = 2*i; j <= N; j += i)
phi[j]=phi[j]-phi[i];
for(int i=1;i<=N;i++)
k+=phi[i];
fprintf(fout,"%lld",2*k+1);
fclose(fin);
fclose(fout);
delete phi;
return 0;
}