Pagini recente » Cod sursa (job #2101088) | Cod sursa (job #1325859) | Cod sursa (job #2282697) | Cod sursa (job #207587) | Cod sursa (job #21781)
Cod sursa(job #21781)
#include<fstream>
#include<memory.h>
using namespace std;
bool NumerePrime[1000000];
long long np[100000];
ifstream fin("fractii.in");
ofstream fout("fractii.out");
int main()
{long long N,rezultat=0,ElementeNp=0;
fin>>N;
memset(NumerePrime,1,sizeof(NumerePrime));
for(long long i=2;i*i<=N;i++)
if(NumerePrime[i])
{
np[ElementeNp]=i;
ElementeNp++;
long long j=2;
while(i*j<=N)
{
NumerePrime[i*j]=0;
j++;
}
}
for(long long cnt=2;cnt<=N;cnt++)
{
long long aux=cnt;
for(long long contor=0;np[contor]<=cnt && contor<ElementeNp;contor++)
{
if(cnt%np[contor]==0)
aux=aux*(np[contor]-1)/np[contor];
}
rezultat+=aux;
}
rezultat*=2;rezultat++;
fout<<rezultat;
return 0;}