We gaan op zoek naar alle natuurlijke getallen strikt kleiner dan $$Z$$ die als product van precies $$N$$ verschillende priemfactoren (dus GEEN machten van priemfactoren, behalve macht 1) kunnen geschreven worden, waarbij al deze priemfactoren in het gesloten interval $$[a, b]$$ liggen (1 wordt NIET als priemgetal beschouwd).
Programmeer de functie zoek_priemproduct()
met als argumenten:
a
: ondergrens voor priemfactoren (inclusief), geheel en strikt positiefb
: bovengrens (eveneens inclusief) voor priemfactoren, met b
> a
, ook geheel en strikt positief Z
: bovengrens voor te onderzoeken natuurlijke getallen N
: aantal verschillende priemfactoren waaruit getallen moeten bestaan Het resultaat van de functie is een woordenboek, met als sleutel een tuple dat de priemfactoren, stijgend geordend voorstelt, en als waarde het bijhorend product.
TIP:Je kan onderstaande functie gebruiken, die aangeeft een het natuurlijke argument n
al dan niet priem is.
def priem(n): if n<2: return False for i in range(2, int((n**0.5)+1)): if n % i ==0: return False return True
zoek_priemproduct(1, 10, 120, 3) #{(2, 3, 5): 30, (2, 3, 7): 42, (2, 5, 7): 70, (3, 5, 7): 105} zoek_priemproduct(10, 20, 1000, 2) #{(11, 13): 143, (11, 17): 187, (11, 19): 209, (13, 17): 221, (13, 19): 247, (17, 19): 323}