Cod sursa(job #1477230)

Utilizator mike93Indricean Mihai mike93 Data 25 august 2015 19:14:54
Problema Fractii Scor 30
Compilator c Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<stdio.h>
#define NMAX 1000000

long long a[NMAX+1];

long long fractii(long n) {
	if(a[n]!=0) {
		return a[n];
	} else {
		long i;
		long long val = n*n;
		for(i=2;i<=n;i++) {
			val = val - fractii(n/i);
		}
		a[n] = val;
		return val;
	}
}

int main() {
	FILE* fin = fopen("fractii.in", "r");
	long n;
	fscanf(fin, "%ld\n", &n);
	fclose(fin);
	long i;
	for(i=0;i<=n;i++) {
		a[i] = 0;
	}
	a[1] = 1;
	long long res = fractii(n);
	
	FILE* fout = fopen("fractii.out", "w");
	fprintf(fout, "%Ld\n", res);
	fclose(fout);
	return 0;
}