Pagini recente » Cod sursa (job #854844) | Cod sursa (job #3246883) | Cod sursa (job #602155) | Cod sursa (job #305640) | Cod sursa (job #1145341)
#include <stdio.h>
bool x[1000001];
int cmmdc(int a,int b)
{
if(a%b==0) return b;
if(b%a==0) return a;
return cmmdc(a%b,b%a);
}
using namespace std;
int main()
{
for(int i=2;i<1000001;i++)
{
if(x[i]==0) for(int j=2;j<1000001/i;j++) x[i*j]=1;
}
FILE *fin,*fout;
fin=fopen("fractii.in","r");
fout=fopen("fractii.out","w");
long int n;
fscanf(fin,"%li",&n);
long int a[n+1];
a[1]=1;
for(int i=2;i<=n;i++)
{
a[i]=a[i-1];
if(x[i]==0) a[i]+=2*(i-1);
else
{
a[i]+=2*(i-1);
for(int j=2;j<=i;j++)
{
if(i%j==0)a[i]-=i/j;
}
}
fprintf(fout,"%d %d",a[i],i);
fprintf(fout,"\n");
}
fprintf(fout,"%li",a[n]);
}