Pagini recente » Cod sursa (job #2021836) | Rating Carp Rafael (Nope) | Cod sursa (job #1356814) | Cod sursa (job #2186192) | Cod sursa (job #288524)
Cod sursa(job #288524)
#include <fstream>
#define dim 1000100
using namespace std;
typedef unsigned long long tip;
ifstream f("fractii.in");
ofstream g("fractii.out");
tip s,n,a[dim],i,j;
void eratostene()
{
//memset(a,1,n);
for(i=2;i<=n;i++) a[i]=1;
for(i=2;i<=n;i++)
{
if(a[i]!=0)
{
a[i]=i;
for(j=2*i;j<=n;j+=i)
a[j]=0;
}
}
}
void fprimi()
{
eratostene();
for(i=2;i<=n;i++)
{
for(j=i;i*j<=n;j++)
a[i*j]=a[i];
}
}
int merge(int d1,int d2) //fractie de forma d1/d2
{
tip l;
for(l=d1;l>1;l/=a[l])
{
if(d2%a[l]==0)
return 0;
}
return 1;
}
int main()
{
f>>n;
s=n;
fprimi();
for(i=2;i<=n;i++)
{
s++;
for(j=2;j<=n;j++)
{
if(merge(i,j))
s++;
}
}
g<<s;
return 0;
}