Surpreendentemente, não acho que tenhamos uma pergunta sobre código de golfe para determinar se um número é semiprime .
Um semiprime é um número natural que é o produto de dois números primos (não necessariamente distintos).
Simples o suficiente, mas um conceito notavelmente importante.
Dado um número inteiro positivo, determine se é um semiprime. Sua saída pode ser de qualquer forma, desde que ela seja igual para qualquer valor de verdade ou falsey. Você também pode assumir que sua entrada é razoavelmente pequena o suficiente para que o desempenho ou o excesso não sejam um problema.
Casos de teste:
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
Isso é código-golfe , então as regras padrão se aplicam!