Un parell de nombres es diuen amics si són diferents i la suma de tots els divisors positius de cada nombre (incloent 1 però excloent el propi nombre) és igual a l’altre nombre.
Per exemple, 2620 i 2924 són amics: els divisors de 2620 (a part de 2620) són 1, 2, 4, 5, 10, 20, 131, 262, 524, 655 i 1310, els quals sumen 2924. Els divisors de 2924 (apart de 2924) són 1, 2, 4, 17, 34, 43, 68, 86, 172, 731 i 1462, els quals sumen 2620.
Feu un programa que llegeixi una seqüència de parells de naturals més grans o iguals que 2, i escrigui aquells parells que són amics.
El vostre programa ha d’incloure dues funcions:
int suma_divisors(int a);
que retorna la suma dels divisors positius del natural que són estrictament més petits que |a|, i
bool son_amics(int a, int b);
que indica si dos naturals i són amics.
L’entrada és una seqüència de parells de naturals més grans o iguals que 2, amb .
Cal escriure una sola línia, la qual contingui cada parell de nombres que siguin amics (incloent repeticions si és necessari). Els parells s’han d’escriure separats per comes i entre parèntesis, seguint el format dels exemples.
Input
1345 6721 2924 2620 15 2 220 284 220 284
Output
(2924 2620),(220 284),(220 284)
Input
Output
Input
8 8 1184 1210 6666 9999 6 6
Output
(1184 1210)