Cod sursa(job #378157)

Utilizator LauraTudorTudor Laura LauraTudor Data 27 decembrie 2009 19:48:57
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include<stdio.h>
int n,i,j,fractii,count,k,p,sgn[100],prel[100],final;

int main(){
	int prim[100];
	prim[0]=2;
	prim[1]=3;
	prim[2]=5;
	prim[3]=7;
	prim[4]=11;
	prim[5]=13;
	prim[6]=17;
	prim[7]=19;
	prim[8]=23;
	prim[9]=29;
	FILE *fin;
	fin=fopen("fractii.in","rt");
	fscanf(fin,"%d",&n);
	fractii=n*n;
	printf("%d",fractii);
	for(i=2;i<=n;i++){
		printf("\n%d:",i);
		count=0;
		for(j=0;j<100;j++)
		{
			sgn[j]=0;prel[j]=0;
		}
		for(j=0;j<10;j++)
			if(i%prim[j]==0){
				sgn[count]=-1;
				prel[count]=prim[j];
				count++;
			}
		printf("%d\n",count);
		final=count;
		if(count>=2){
				for(j=0;j<count;j++)
					for(k=j+1;k<count;k++){
						prel[final]=prel[j]*prel[k];
						sgn[count]=1;
						final++;
					}
				}
		if(count==3){
			prel[final]=prel[1]*prel[2]*prel[0];
			sgn[count]=-1;
			final++;
		}
		for(j=0;j<final;j++)
			fractii=fractii+(n/prel[j])*sgn[j];
				
	}
	FILE *fout;
	fout=fopen("fractii.out","wt");
	fprintf(fout,"%d",fractii);
	return 0;
}