N = int(input())
flag = False
if N <= 2:
print('no')
for j in range(2, int(N**0.5)+1):
if N%j == 0:
flag = True
if flag == False:
print('yes')
else:
print('no')
我看到解决方案的每个地方的逻辑都是相同的,但不知何故 codechef 显示这是一个错误的答案,因为我没有 codechef 的专业订阅,我看不到失败的案例。
对于 2 以上的任何数字,此代码都是正确的(尽管可以更有效地完成),但请查看边缘情况 - 此脚本给出的结果是 1 和 0 都是质数。
N = int(input())
flag = False
for j in range(2, N):
if N % j == 0:
flag = True
if not flag and N > 1: # Important: 0 and 1 are not prime numbers
print('yes')
else:
print('no')