Pagini recente » Cod sursa (job #1440928) | Cod sursa (job #347376) | Cod sursa (job #1262318) | Cod sursa (job #1185618) | Cod sursa (job #547700)
Cod sursa(job #547700)
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
int main()
{
int limit;
char A[limit];
long int i,j,x;
ifstream f("ciur.in");
ofstream g("ciur.out");
f>>limit;
for (i=1;i<limit;i++)
{
A[i] = 0;
}
for (i=1;i<=sqrt(limit);i++)
for (j=1;j<=sqrt(limit);j++)
{
x = 4*i*i+j*j;
if (x<limit) if ((x % 12==1) || (x % 12==5)) A[x] = !A[x];
x = 3*i*i+j*j;
if (x<limit) if (x % 12==7) A[x] = !A[x];
x = 3*i*i-j*j;
if (i>j) if (x<limit) if (x % 12==11) A[x] = !A[x];
}
for (i=5;i<=sqrt(limit);i++)
{
x = i*i;
j = 1;
while (j*x<limit)
{
A[j*x] =0;
j++;
}
}
A[2] = 1;
A[3] = 1;
x = 0;
for (i=2;i<limit;i++) if (A[i]) x++;
g<<x;
}