Cod sursa(job #865933)
| Utilizator | Data | 27 ianuarie 2013 12:07:22 | |
|---|---|---|---|
| Problema | Fractii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.47 kb |
#include<fstream>
#define nmax 1000005
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
int n;
int prim[nmax];
long long s;
void solve()
{
int i,j,c1,c2;
s=n*n;
for(i=2;i<=n;i++)
if(!prim[i])
{
for(j=i,c1=0,c2=0;j<=n;j+=i)
{
if(!prim[j])
prim[j]=1;
else
c2++;
c1++;
}
s-=c1*c1;
s+=c2*c2;
}
g<<s<<'\n';
}
int main()
{
f>>n;
solve();
f.close();
g.close();
return 0;
}
