Pagini recente » Cod sursa (job #1711413) | Cod sursa (job #821765) | Cod sursa (job #1798315) | Cod sursa (job #499725) | Cod sursa (job #21696)
Cod sursa(job #21696)
#include<stdio.h>
#include<memory.h>
using namespace std;
bool NumerePrime[1000000];
inline bool divizibilitate(long long nr,long long divizor)
{
if(nr%divizor==0)
return 1;
else return 0;
}
int main()
{FILE *F=fopen("fractii.in","rt");
FILE *G=fopen("fractii.out","wt");
long long N,rezultat=0;
fscanf(F,"%lld",&N);
for(long long i=2;i<=1000000;i++)
NumerePrime[i]=1;
for(long long i=2;i*i<=N;i++)
if(NumerePrime[i])
{
long long j=2;
while(i*j<=N)
{
NumerePrime[i*j]=0;
j++;
}
}
for(long long a=2;a<=N;a++)
{
long long aux=a;
for(long long cnt=2;cnt<=a;cnt++)
if(NumerePrime[cnt])
if(a%cnt==0)
aux=(aux*(cnt-1))/cnt;
rezultat+=aux;
}
rezultat*=2;rezultat++;
fprintf(G,"%lld\n",rezultat);
return 0;
}