Sorprendentemente, non penso che abbiamo una domanda di code-golf per determinare se un numero è semiprime .
Un semiprime è un numero naturale che è il prodotto di due numeri primi (non necessariamente distinti).
Abbastanza semplice, ma un concetto notevolmente importante.
Dato un numero intero positivo, determinare se si tratta di un semiprime. Il tuo output può essere in qualsiasi forma purché fornisca lo stesso output per qualsiasi valore di verità o falsità. Puoi anche supporre che il tuo input sia abbastanza piccolo da non causare problemi di overflow o prestazioni.
Casi test:
input -> output
1 -> false
2 -> false
3 -> false
4 -> true
6 -> true
8 -> false
30 -> false (5 * 3 * 2), note it must be EXACTLY 2 (non-distinct) primes
49 -> true (7 * 7) still technically 2 primes
95 -> true
25195908475657893494027183240048398571429282126204032027777137836043662020707595556264018525880784406918290641249515082189298559149176184502808489120072844992687392807287776735971418347270261896375014971824691165077613379859095700097330459748808428401797429100642458691817195118746121515172654632282216869987549182422433637259085141865462043576798423387184774447920739934236584823824281198163815010674810451660377306056201619676256133844143603833904414952634432190114657544454178424020924616515723350778707749817125772467962926386356373289912154831438167899885040445364023527381951378636564391212010397122822120720357
-> true, and go call someone, you just cracked RSA-2048
Questo è code-golf , quindi si applicano le regole standard!