Cod sursa(job #341970)

Utilizator alex23alexandru andronache alex23 Data 20 august 2009 07:49:17
Problema Mins Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <iostream>


FILE *f = fopen("mins.in", "r"), *g = fopen("mins.out", "w");
long nr = 1;
int n, m;
int **a;

int cmmdc(int a, int b)
{
	int x;
	if (a < b) {x = a;a = b;b = x;}
    while (b)
       {x = b;
        b = a % b;
        a = x;
        }
    x = a;
	return x;
}


int main() 
{
	fscanf(f, "%d %d", &n, &m);
	fclose(f);
	if (n > m) 
	{
		int aux = n;
		n = m;
		m = aux;
	}

	a = new int*[m];
	for (int i = 1; i < m; ++i)
		a[i] = new int[i + 1];

	for (int i = 1; i < m; ++i)
		for (int j = 1; j < n; ++j)
			a[i][j] = 0;

	for (int i = 1; i < m; ++i)
		for (int j = 1; j < i; ++j)
		{
			if (!a[i][j])
			{
				int k = i, l = j;
				while ((k < m) && (l < i))
				{
					a[k][l] = 1;
					k += i;
					l += j;
				}
				if ((i < n) && (j < m)) nr += 2;
				else nr++;
			}
		}

	fprintf(g, "%ld", nr);
	fclose(g);
	return 0;
}