Cod sursa(job #279158)

Utilizator maryuszmarius ciubotariu maryusz Data 12 martie 2009 18:17:26
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.24 kb
#include<stdio.h>
#include<iostream.h>
long int n,k,a[100000][100000];
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;
}
int sum()
{
	int s=0;
	for(int i=1;i<=n;i++)
	{	for(int j=1;j<=n;j++)
			s+=a[i][j];
	}
	return s;
}
void back()
{
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
		{
			if(i==1) a[i][j]=1;
			else if(j==1) a[i][j]=1;
			else if(i==j && j!=1) a[i][j]=0;
			else if(valid(i,j)) a[i][j]=1;
			else a[i][j]=0;
		}
	/*for(i=1;i<=n;i++)
	{	for(int j=1;j<=n;j++)
			cout<<a[i][j]<<" ";
		cout<<endl;
	}*/
	
}
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*pare
	cout<<k<<endl;*/
	back();
	fprintf(g,"%ld\n",sum());
	//cout<<sum()<<endl;
	fcloseall();
	return 0;
}