Zaskakujące, nie wydaje mi się, abyśmy mieli pytanie w golfa w celu ustalenia, czy liczba jest półpierwszą .
Semiprime jest liczbą naturalną, która jest iloczynem dwóch (niekoniecznie odrębnych) liczb pierwszych.
Dość prosta, ale niezwykle ważna koncepcja.
Biorąc pod uwagę dodatnią liczbę całkowitą, określ, czy jest to wartość półpierwsza. Twój wynik może być w dowolnej formie, pod warunkiem, że daje to samo wyjście dla dowolnej wartości prawdziwej lub falsey. Możesz również założyć, że Twój wkład jest wystarczająco mały, aby wydajność lub przepełnienie nie stanowiły problemu.
Przypadki testowe:
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
To jest golf golfowy , więc obowiązują standardowe zasady!