Pagini recente » Cod sursa (job #586143) | Cod sursa (job #2251482) | Cod sursa (job #443111) | Cod sursa (job #2668336) | Cod sursa (job #2708410)
#include <stdio.h>
#include <stdlib.h>
int cmmdc(int a, int b){
while(b){
int r=a%b;
a=b;
b=r;
}
return a;
}
void numar(int N, long long *nrfractii){
int v[1000001];
long long x=0;
int i, j;
for(i=1; i<=N; i++)
v[i]=i;
for(i=2; i<=N; i++)
if(v[i]==i){
v[i]--;
for(j=2; j*i<=N; j++)
v[j*i]=v[j*i]/i*(i-1);
}
for(i=1; i<=N; i++)
x+=v[i];
*nrfractii=x;
}
int main(){
int N;
long long nrfractii;
FILE *f;
f=fopen("fractii.in", "r");
fscanf(f, "%d", &N);
fclose(f);
numar(N, &nrfractii);
nrfractii=nrfractii*2-1;
f=fopen("fractii.out", "w");
fprintf(f, "%lld", nrfractii);
fclose(f);
return 0;
}