Ciao a tutti, vorrei segnalare quello che credo sia un errore o nel testo o nei test dell'esercizio 44 che riporta nel testo:
Si progetti la funzione es44(a,b) che, in input due interi a e b restituisce
l'insieme dei primi a interi che hanno esattamente b divisori.
Ad esempio per a=20 e b=2 la funzione deve restituire l'insieme dei primi 20 numeri primi
(perche' solo i numeri primi hanno esattamente 2 divisori), vale a dire:
{2, 3, 67, 5, 37, 7, 71, 41, 11, 43, 13, 47, 17, 19, 61, 53, 23, 59, 29, 31}
implementando la funzione mi aspetto che, per esempio, i primi 5 numeri con 3 divisori siano 4 (1*2*2), 6 (1*2*3), 9 (1*3*3), 10 (1*2*5), 14 (1*2*7), mentre nei test i primi 10 numeri con 3 divisori sono:
{289, 4, 9, 169, 361, 841, 49, 529, 121, 25}
dove viene usata come logica il prodotto dello stesso divisore b-1 volte (1* numero_primo^(b-1)), che però non corrisponde a quanto indicato dal testo.
Dov'è quindi l'errore?