Pagini recente » Cod sursa (job #2122103) | Cod sursa (job #1500998) | Cod sursa (job #3218610) | Cod sursa (job #88205) | Cod sursa (job #289267)
Cod sursa(job #289267)
#include<fstream.h>
#include<math.h>
int pr[101];
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||j%i==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)
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; }