Pagini recente » Cod sursa (job #1641515) | Cod sursa (job #2742096) | Cod sursa (job #2492067) | Cod sursa (job #2136854) | Cod sursa (job #279188)
Cod sursa(job #279188)
#include<stdio.h>
#include<iostream.h>
long int n,k,pare,impare;
long cmmdc(long a,long b)
{
if(!b) return a;
return cmmdc(b,a%b);
}
int valid(long int i, long int j)
{
if(i!=1 && j!=1 && cmmdc(i,j)!=1) return 0;
return 1;
}
void back()
{
for(int i=3;i<=n;i+=2)
for(int j=3;j<=n;j+=2)
{
if(valid(i,j))
{
cout<<i<<"/"<<j<<endl;
k++;
}
}
for(i=6;i<=n;i+=2)
for(int j=3;j<=n/2;j+=2)
if(i%j==0 || j%i==0) k--;
}
int main(void)
{
FILE *f,*g;
f=fopen("fractii.in","r");
g=fopen("fractii.out","w");
fscanf(f,"%ld",&n);
pare=n/2;
impare=n-pare;
k=n; // umplem 1
cout<<k<<endl;
k+=n-1; // umplem fiecare cu 1 in afara de 1 : 2/1 3/1 4/1
cout<<k<<endl;
k+=pare*(impare-1);
cout<<k<<endl; //tuturor nr pare li se adauca cele impare fara imparul 1 : pare*(impare-1)
k+=pare*(impare-1); // tuturor nr impare in afara de nr 1 le si adauga cele pare : impare-1*
cout<<k<<endl;
back();
fprintf(g,"%ld\n",k);
cout<<k<<endl;
fcloseall();
return 0;
}