Đáng ngạc nhiên, tôi không nghĩ rằng chúng ta có một câu hỏi golf-code để xác định xem một số có phải là bán thời gian hay không .
Một nửa số là một số tự nhiên là tích của hai số nguyên tố (không nhất thiết phải khác biệt).
Đủ đơn giản, nhưng một khái niệm đặc biệt quan trọng.
Cho một số nguyên dương, xác định xem đó có phải là bán chính xác không. Đầu ra của bạn có thể ở bất kỳ dạng nào miễn là nó cho cùng một đầu ra cho bất kỳ giá trị trung thực hoặc falsey nào. Bạn cũng có thể cho rằng đầu vào của mình đủ nhỏ để hiệu suất hoặc tràn không phải là vấn đề.
Các trường hợp thử nghiệm:
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
Đây là mã golf , vì vậy các quy tắc tiêu chuẩn được áp dụng!