py对较大范围值的求和素数检验。

#测试数据为[2,2000000000]范围内的偶数。限制400ms,较大值时间复杂度过不了。

Jason990420
最佳答案

代码块格式

```python

你的代码

```

import math

def is_prime(n):
    if n == 1:
        return False
    for i in range(2, int(math.sqrt(n))+1, 10):
        if n % i == 0:
            return False
    return True

num = int(input())

for i in range(2, num+1):
    if (is_prime(i) and is_prime(num-i)):
        x=num-i
        y=i
        break
print("%d = %d + %d" % (num, x, y))
5天前 评论
讨论数量: 2

import math def is_prime(n): if n == 1: return False for i in range(2, int(math.sqrt(n))+1): if n % i == 0: return False return True num=int(input()) for i in range(2,num+1): if (is_prime(i) and is_prime(num-i)): y=num-i x=i break print("%d = %d + %d"%(num,x,y))

#已经解决,一个上面算法sqrt的问题,一个下面break问题。

5天前 评论
Jason990420

代码块格式

```python

你的代码

```

import math

def is_prime(n):
    if n == 1:
        return False
    for i in range(2, int(math.sqrt(n))+1, 10):
        if n % i == 0:
            return False
    return True

num = int(input())

for i in range(2, num+1):
    if (is_prime(i) and is_prime(num-i)):
        x=num-i
        y=i
        break
print("%d = %d + %d" % (num, x, y))
5天前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!