Mai intai trebuie sa te autentifici.
Cod sursa(job #2708410)
| Utilizator | Data | 18 februarie 2021 17:59:53 | |
|---|---|---|---|
| Problema | Fractii | Scor | 100 |
| Compilator | c-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.76 kb |
#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;
}