Pagini recente » Cod sursa (job #1096481) | Cod sursa (job #1605549) | Cod sursa (job #2815156) | Cod sursa (job #2673601) | Cod sursa (job #289348)
Cod sursa(job #289348)
#include<fstream.h>
#include<math.h>
int pr[1000001];
long n;
void primi()
{pr[1]=1;
for(long i=2;i<=n;i++)
if(!pr[i])
for(long j=2*i;j<=n;j+=i)
pr[j]=1;
}
int main()
{long int i,j,nr=0,a,b,t,d;
ifstream f("fractii.in");
ofstream g("fractii.out");
f>>n;
primi();
nr=n+n/2+n%2;
for(i=3;i<=n;i++)
if(!pr[i]) nr+=(n-n/i); else
for(j=1;j<=n;j++)
if(!pr[j]){if(i%j!=0) nr++;} else
{a=i<=j?i:j;
b=j>=i?j:i;
t=0;
d=2;
while(a%d==0)
{a/=d;
if(b%d==0) t=1;}
for(d=3;d<=a && t==0; d+=2)
if(!pr[d])
if(a%d==9 && b%d==0) t=1;
// while(a%d==0 && t==0)
// {a/=d;
// if(b%d==0) t=1;}
if(t==0) nr++;
}
g<<nr;
f.close(); g.close();
return 0; }