腾讯2017秋招笔试编程题-素数对

给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。
如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7))

输入描述:
输入包括一个整数n,(3 ≤ n < 1000)

输出描述:
输出对数

输入例子1:
10

输出例子1:
2

 

参考:

n = int(input())
arr,res = [], 0
for i in range(2, n + 1):    #素数/质数
    flag = True
    for j in range(2, int(i**0.5) + 1):
        if i % j == 0:
            flag = False
            break
    if flag:
        arr.append(i)
for i in range(len(arr)):
    if arr[i] > n / 2:
        break
    else:
        if n - arr[i] in arr:
            res += 1
print(res)

您的代码已保存
答案正确:恭喜!您提交的程序通过了所有的测试用例

posted @ 2020-08-23 15:37  Andy_George  阅读(169)  评论(0编辑  收藏  举报