Cod sursa(job #15173)
Utilizator | Data | 11 februarie 2007 00:27:03 | |
---|---|---|---|
Problema | Fractii | Scor | 0 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <stdio.h>
int main() {
long int n,i,j,k,nr=0,aux;
FILE * fin = fopen("fractii.in","r");
FILE * fout = fopen("fractii.out","w");
fscanf(fin,"%ld",&n);
nr = n*n-n+1;
for (i=4; i<=n; i++) {
k=0;
aux=i;
while ((aux>1) && (aux%2==0)) {
k++;
aux/=2;
}
j=3;
while (aux>1) {
while (aux%j==0) {
aux/=j;
k++;
}
j+=2;
}
nr = nr - (1<<k) + 2;
}
fprintf(fout,"%ld",nr);
fclose(fin);
fclose(fout);
return 0;
}