令人惊讶的是,我认为我们没有确定数字是否为准素数的代码高尔夫球问题。
半素数是一个自然数,它是两个(不一定是不同的)素数的乘积。
很简单,但是一个非常重要的概念。
给定一个正整数,请确定它是否为半素数。您的输出可以是任何形式,只要它为任何真实或错误值提供相同的输出即可。您可能还假设您的输入足够小,因此性能或溢出都不是问题。
测试用例:
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
这是代码高尔夫球,因此适用标准规则!