Cod sursa(job #1631827)

Utilizator on_a_mission_without_permissionUPB Bolohan Dinu Rotaru on_a_mission_without_permission Data 5 martie 2016 19:12:37
Problema Fractii Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#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;
}