Cod sursa(job #2487999)
| Utilizator | Data | 5 noiembrie 2019 22:48:52 | |
|---|---|---|---|
| Problema | Fractii | Scor | 20 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <fstream>
#include <string.h>
#define DIM 1000000
using namespace std;
ifstream fin ("fractii.in");
ofstream fout("fractii.out");
long long x,i,j,n,sol,p[DIM/10+10],k,v[DIM+10];
int main () {
fin>>n;
for(i=2;i<=DIM;i++)
if(v[i]==0){
p[++k]=i;
for(j=i+i;j<=DIM;j+=i)
v[j]=1;
}
for(i=2;i<=n;i++){
x=i;
for(j=1;j<=k && p[j]<=x;j++)
if(x%p[j]==0){
x=x-x/p[j];
}
sol+=x;
}
fout<<sol*2+1;
}
