酷代码 AI
菜单
服务商

读入一个整数n, 若n为质数,输出0. 否则输出离它最近的两个质数(一个比n大,一个比n小)之差。(n最大为 1299709,即第十万个素数。) 样例输入 复制 27 样例输出 复制 6

```python def is_prime(num): if num < 2: return False if num == 2: return True if num % 2 == 0: return False for i in range(3, int(num0.5) + 1, 2): if num % i == 0: return False return True def find_nearest_primes(n): lower = n - 1 while lower >= 2 and not is_prime(lower): lower -= 1 if lower < 2: lower = None upper = n + 1 while upper <= 1299709 and not is_prime(upper): upper += 1 if upper > 1299709: upper = None return lower, upper def main(): n = int(input().strip()) if is_prime(n): print(0) else: lower_prime, upper_prime = find_nearest_primes(n) if lower_prime is not None and upper_prime is not None: print(upper_prime - lower_prime) if __name__ == "__main__": main() ``` [2026-01-11 17:37:06 | AI问答 | 254点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多