Cod sursa(job #1361555)

Utilizator maxu08Max Alexandru maxu08 Data 25 februarie 2015 22:09:07
Problema Fractii Scor 10
Compilator c Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<stdio.h>
#include<stdlib.h>

int cmmdc(int a,int b)
{
	int c;
    while (b) {
        c = a % b;
        a = b;
        b = c;
    }
    return a;
}

int exista(int a,int *v,int n)
{
	int i;
	if(n == 0)
		return 0;
	else
		for(i = 0;i < n;i++)
			if(v[i] == a)
				return 1;
	return 0;
}

int main()
{

	FILE *file;
	int n,i,j,nr = 0,ok = 0,k = 0;
	int *v = malloc(1000*sizeof(int));

	file = fopen("fractii.in","r");

	fscanf(file,"%d",&n);

	fclose(file);

	for(i = 1;i <= n;i++)
	{
		for(j = 1;j <= n;j++)
			if(exista(i,v,k) != 1 && cmmdc(i,j) == 1)
			{
				ok = 1;
				nr++;
			}
		if(ok == 1)
		{
			v[k] = i;
			ok = 0;
			k++;
		}
	}


	file = fopen("fractii.out","w");
	fprintf(file,"%d",nr);
	fclose(file);

}