Pagini recente » Cei mai harnici utilizatori infoarena | Clasament arhiva | Clasament arhiva | Cei mai harnici utilizatori infoarena | Cod sursa (job #526903)
Cod sursa(job #526903)
//fractii
#include<stdio.h>
#include<stdlib.h>
int main(){
long long int * phi, n, rez=0, i, j;
FILE *f;
f=fopen("fractii.in", "r");
fscanf(f,"%lld",&n);
phi=(long long int*)malloc(sizeof(long long int)*(n+1));
fclose(f);
phi[1]=1;
for(i=2;i<=n;i++)
phi[i]=i;
for(i=2;i<=n;i++){
if(phi[i]==i){
phi[i]=i-1;
for(j=2*i;j<=n;j=j+i){
phi[j]=phi[j]*(i-1)/i ;
}
}
rez = rez + phi[i];
}
rez =rez*2 ;
rez=rez+1;
f=fopen("fractii.out", "w");
fprintf(f,"%lld",rez);
fclose(f);
}