Cod sursa(job #2605265)
| Utilizator | Data | 24 aprilie 2020 17:56:16 | |
|---|---|---|---|
| Problema | Fractii | Scor | 100 |
| Compilator | c-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define max 1000010
int main() {
FILE* in = fopen("fractii.in", "r");
FILE* out = fopen("fractii.out", "w");
int n;
fscanf(in, "%d", &n);
int* array = (int*)malloc(sizeof(int) * (n + 1));
memset(array, 0, sizeof(int) * (n + 1));
long int rezult = 0;
for(int i=2;i<=n;i++)
array[i]=i - 1;
for(int i=2;i<=n;i++) {
rezult+=array[i];
for(int j=2;i*j<=n;j++)
array[i*j]-=array[i];
}
fprintf(out, "%ld", 2*rezult + 1);
return 0;
}
