Pagini recente » Borderou de evaluare (job #2011855) | verkhoyansk/solutie | Borderou de evaluare (job #2687115) | Cod sursa (job #1988418) | Cod sursa (job #1631827)
#include<stdio.h>
long long nr_rel_prim(long long nr){
long long ret;
ret = 1;
long long i;
i = 2;
while( nr >= i){
if( nr % i == 0){
nr /= i;
ret *= (i - 1);
while( nr && (nr % i == 0) ){
nr /= i;
ret *= i;
}
}
i++;
}
// printf("pt nr = %lld returnez %lld\n",nr, ret);
return ret;
}
int main(){
long long n, rez;
rez = 0;
FILE *f = fopen("fractii.in", "r");
fscanf(f, "%lld", &n);
fclose(f);
long long i;
rez++;
for( i = 2; i <= n; i++)
rez += 2 * nr_rel_prim(i);
f = fopen("fractii.out", "w");
fprintf(f, "%lld", rez);
fclose(f);
return 0;
}