Pagini recente » Cod sursa (job #696548) | Monitorul de evaluare | Cod sursa (job #657987) | Cod sursa (job #906282) | Cod sursa (job #696480)
Cod sursa(job #696480)
#include<math.h>
#include<fstream.h>
using namespace std;
int c[100000]={0},n,p=1;
void ciur()
{
for(int i=2;i<=n;++i)
if(!c[i])
for(int j=i*i;j<=n;++j)
c[j]=1;
}
int euler(int a)
{
int s=sqrt(a),re=a;
for(int i=2;i<=s;++i)
if(!c[i])
if(a%i==0)
re=re/i*(i-1);
return re*2;
}
int main()
{
ifstream in("fractii.in");
ofstream out("fractii.out");
in>>n;
ciur();
for(int i=2;i<=n;++i)
p+=euler(i);
out<<p;
return 0;
}