Introducción a la
Programación
Trimestre 2005 Primavera --- Tarea 4
Martes 7 de junio de 2005 a
las 22:00
hrs
Parejas disparejas
Si m y n son dos números enteros
positivos, decimos que m
divide a n si n es un múltiplo de m. Por ejemplo, 1, 2, 3 y 6 dividen
a 6, pero ni 4, ni 5 ni 7 dividen a 6. Definamos la función s(n)
como la suma de todos los divisores de n
(excepto n). Por
ejemplo, s(6)=1+2+3=6, s(9)=1+3=4 y s(12)=1+2+3+4+6=16. Considere dos
números
enteros positivos m y n. Si s(m)
= n y s(n)
= m decimos que m y n
son una pareja perfecta (tipo
0). En caso contrario tenemos otras dos opciones: Si s(m)
<= n y s(n)
<= m decimos que m y n
son una pareja defectuosa
(tipo 1). Si s(m) >= n y s(n) >= m decimos que m y n
son una pareja afectuosa (tipo
2). Finalmente, si no se cumple ninguna de estas condiciones, decimos
que m y n son una pareja dispareja (tipo 3). Dados dos
números m y n debes decidir que tipos de parejas
son (m,n), (m,m) y (n,n).
Por ejemplo, si m = 6 y n = 12 entonces (6,12) es una pareja
dispareja, (6,6) es una pareja perfecta y (12,12) es una pareja
afectuosa.
Especificación
La entrada consiste de dos números enteros m
y n en ese orden, separados
por
un espacio, donde 0 < m, n < 1,000,000. La salida consiste
de tres números p, q y r del conjunto {0,1,2,3} separados por
espacios, representando cada uno de ellos el tipo de las parejas (m,n),
(m,m) y (n,n),
respectivamente. El
nombre de su
programa deberá ser parejaNN.c,
donde NN es el
número de equipo
que les fue
asignado. Los archivos parejaNN.o
y parejaNN.exe no deben
ser
entregados. Notas: (a) Su
programa no deberá leer ni escribir nada además de los
datos mencionados anteriormente. (b) Su programa no deberá usar
nada que no
hayamos visto en clase. (c) Para compilar su programa en UNIX usen la
instrucción gcc
parejaNN.c -o pareja y para probarlo usen la instrucción ./pareja y tecleen la entrada
deseada seguida de un enter.
Ejemplo
ENTRADA:
6 12
SALIDA:
3 0 2