Cod sursa(job #2498326)
Utilizator | Data | 23 noiembrie 2019 19:48:12 | |
---|---|---|---|
Problema | Fractii | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 1.32 kb |
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
int main ()
{
bool v[1000001], x[1000001];
int n, c=0, s=0, k=0;
f>>n;
for(int i=4;i<=n;i+=2)
{
v[i]=1;
}
for(int i=3;i*i<n;i+=2)
{
if(v[i]==0)
{
for(int j=i*i;j<=n;j+=2*i)
{
v[j]=1;
}
}
}
for(int i=2;i<=n;i++)
{
if(v[i]==0)
{
for(int j=2;j<=n;j++)
{
if(j%i!=0)
{
if(v[j]==0)
{
k++;
}
else
{
c++;
}
}
}
}
else
{
for(int j=2;j<=n;j++)
{
if(v[j]==1)
{
if(j%2!=i%2)
{
cout<<i<<" "<<j<<endl;
k++;
}
}
}
}
cout<<i<<" "<<c<<" "<<k<<endl;
s+=2*c+k;
c=0;
k=0;
}
s+=2*n-1;
g<<s;
return 0;
}