Floris is altijd zeer voorzichtig: telkens als hij een getal moet kiezen dat zijn leven kan beïnvloeden, doet hij dat niet zomaar. Floris kiest telkens een zogenaamd $$v$$-perfect getal, omdat hij gelooft dat dit geluk brengt.
$$v$$-perfecte getallen zijn strikt positieve gehele getallen waarvan de som van de positieve delers gelijk is aan een veelvoud $$v$$ van het getal zelf. Een voorbeeld van een 3-perfect getal is 120. De som van alle delers van 120, namelijk \[1+2+3+4+5+6+8+10+12+15+20+24+30+40+60+120 = 360\] is immers gelijk aan 3 maal 120.
Schrijf een functie somdelers die voor een gegeven getal $$n$$ (met $$n \in \mathbb{N}$$ en $$n > 0$$), dat als argument aan de functie moet doorgegeven worden, de som van de delers van dat getal als resultaat teruggeeft.
Gebruik de functie somdelers om een functie vperfect te schrijven, waaraan een getal $$n$$ (met $$n \in \mathbb{N}$$ en $$n > 0$$) als argument moet doorgegeven worden. Indien het getal $$n$$ een $$v$$-perfect getal is, moet de functie de waarde $$v \in \mathbb{N}$$ als resultaat teruggeven. Anders moet de functie de waarde None als resultaat teruggeven.
Gebruik de functie vperfect om een functie zoek te schrijven die het kleinste $$v$$-perfecte getal opzoekt dat gelegen is in het interval $$[x, y]$$. De natuurlijke getallen $$x$$ en $$y$$ moeten als argumenten aan de functie doorgegeven worden. Indien een kleinste $$v$$-perfect getal $$n$$ kan gevonden worden in het opgegeven interval, dan moet de functie het tuple $$n, v$$ als resultaat teruggeven. De functie moet de waarde None teruggeven als het opgegeven interval geen $$v$$-perfecte getallen bevat.
>>> print(somdelers(120))
360
>>> print(somdelers(121))
133
>>> print(vperfect(120))
3
>>> print(vperfect(121))
None
>>> print(zoek(5, 10))
(6, 2)
>>> print(zoek(50, 100))
None
>>> print(zoek(100, 150))
(120, 3)
>>> print(zoek(400, 500))
(496, 2)