Pagini recente » Istoria paginii utilizator/sebyiliescu | Statistici Codrea Adela (kiesoo) | Cod sursa (job #200901) | Monitorul de evaluare | Cod sursa (job #1010239)
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
void erostane(bool *a,unsigned long n)
{
for(int i=2;i<=n;++i)
{
a[i] = 1;
}
for(int i=2;i<=sqrt(n);++i)
if(a[i])
for(int j=i;j<=n/i;++j)
a[j*i] = 0;
}
int main()
{
unsigned long n,sum;
bool *v;
freopen("fractii.in", "rt", stdin);
freopen("fractii.out", "wt", stdout);
scanf("%lu", &n);
sum = 2*n;
v = (bool *)malloc(n*sizeof(bool));
erostane(v,n);
//printf("%d", v[0]);
for(long i=2;i<n;i++)
{
if(v[i])
sum += i - 1;
}
printf("%d", sum);
return 0;
}