Cod sursa(job #694116)
| Utilizator | Data | 27 februarie 2012 18:46:27 | |
|---|---|---|---|
| Problema | Fractii | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.38 kb |
#include<stdio.h>
FILE*fin,*fout;
long long s;
int n,i,j;
int ciur[1000001];
int main(){
fin=fopen("fractii.in","r");
fout=fopen("fractii.out","w");
fscanf(fin,"%d",&n);
for(i=1;i<=n;i++){
ciur[i]=i;
}
for(i=2;i<=n;i++){
if(ciur[i]==i){
for(j=i;j<=n;j=j+i){
ciur[j]=ciur[j]*(i-1)/i;
}
}
}
for(i=1;i<=n;i++){
s=s+ciur[i];
}
fprintf(fout,"%lld",s*2-1);
return 0;
}