Pagini recente » Cod sursa (job #1911511) | Cod sursa (job #1193133) | Cod sursa (job #2552462) | Cod sursa (job #1543682) | Cod sursa (job #222262)
Cod sursa(job #222262)
#include <stdio.h>
#include <stdlib.h>
int n;
int main()
{
int i, j, k;
long nr;
FILE *f;
FILE *g;
f = fopen("fractii.in", "rt");
g = fopen("fractii.out", "wt");
fscanf(f, "%i", &n);
long* v = (long*)malloc((n+1)*sizeof(long));
nr = 0;
for (i=1; i<=n; i++)
{
v[i] = i;
nr+=i;
}
long aux;
for (i=2; i<=n; i++)
{
if (v[i] == i) // i prim
{
printf("%i!\n", i);
k = i;
while (k <= n)
{
aux = v[k]/i;
v[k] = aux * (i-1); //(v[k]/k) * (k-1)
k+=i;
nr -= aux;
}
for (j=1; j<=n; j++)
{
printf("v[%i] = %i\n", j, v[j]);
}
}
}
for (j=1; j<=n; j++)
{
printf("v[%i] = %i\n", j, v[j]);
}
printf("%i\n", nr);
fprintf(g, "%i", 2*nr-1);
}