Propietats dels nombres ======================= Els *divisors propis* d'un nombre es defineixen com els seus divisors positius excepte ell mateix. Es diu que un nombre és *perfecte* si és igual a la suma dels seus divisors propis. Igualment es diu que un nombre és *deficient* si la suma dels seus divisors propis és menor que ell mateix i es diu que és *abundant* si aquesta suma és superior al mateix nombre. #. Dissenya la funció ``divisors`` que calculi i retorni la suma dels divisors propis d'un nombre. Desa la funció al fitxer ``propietats.py``. La funció ha de passar el següent doctest: .. literalinclude:: divisors.txt :language: python3 :lines: 2- .. note:: Pots descarregar el fitxer amb tests :download:`divisors.txt ` #. Dissenya la funció ``tipus_nombre`` que donat un enter retorna un string amb el valor 'abundant', 'deficient' o 'perfecte' segons sigui el seu tipus. Aquesta funció ha de cridar la funció ``divisors``. Desa la funció al fitxer ``propietats.py``. La funció ha de passar el següent doctest: .. literalinclude:: propietats-1.txt :language: python3 :lines: 2- .. note:: Pots descarregar el fitxer amb tests :download:`propietats-1.txt ` #. Es diu que dos nombres *n* i *m* són *amics* si la suma dels divisors propis de *n* és *m* i la suma dels divisors propis de *m* és *n*. Dissenya la funció booleana ``son_amics`` que donats dos enters retorna ``True`` si són amics i ``False`` en cas contrari. Aquesta funció ha de cridar la funció ``divisors``. Desa la funció al fitxer ``propietats.py``. La funció ha de passar el següent doctest: .. literalinclude:: propietats-2.txt :language: python3 :lines: 2- .. note:: Pots descarregar el fitxer amb tests :download:`propietats-2.txt ` .. rubric:: Solució Disposeu de solucions al fitxer :download:`propietats.py `