擅长:python、mysql、java
<p>即使我没有调试您的代码,下面的代码应该可以找到最接近的质数:</p>
<pre><code>n = int(input("Enter n: "))
def chk_prime(n):
if n>1:
for i in range(2, n//2+1):
if n%i==0:
return False
break
else:
return True
else:
return False
if chk_prime(n):
print(f"{n} is itself a prime.")
else:
count = 1
while count<n:
holder1 = n-count
holder2 = n+count
holder1_chk = chk_prime(holder1)
holder2_chk = chk_prime(holder2)
if holder1_chk and holder2_chk:
print(f"closest primes are {holder1}, {holder2}")
break
elif holder1_chk and not holder2_chk:
print(f"closest prime is {holder1}")
break
elif holder2_chk and not holder1_chk:
print(f"closest prime is {holder2}")
break
else:
count = count + 1
</code></pre>
<p>首先,我们定义一个函数来检查一个数是否是素数。接下来,我们启动<code>count = 1</code>,并通过从原始数字中减去<code>count</code>并将count添加到原始数字来创建两个占位符值。如果这两个占位符值都是素数,那么我们将它们都打印为最接近的素数,否则就是它们之间最接近的素数。在</p>