Удивительно, но я не думаю, что у нас есть вопрос по коду для определения, является ли число полупростым .
Полупростое число - это натуральное число, являющееся произведением двух (не обязательно различных) простых чисел.
Достаточно простая, но удивительно важная концепция.
Учитывая положительное целое число, определите, является ли оно полупростым. Ваш вывод может быть в любой форме, при условии, что он дает одинаковый вывод для любого истинного или ложного значения. Вы также можете предположить, что ваш ввод достаточно мал, чтобы производительность или переполнение не были проблемой.
Тестовые случаи:
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
Это код-гольф , поэтому применяются стандартные правила!