输入一个整数
。保证
是偶数。
第一行输出一个整数
,代表满足条件的素数对中的较小者。
第二行输出一个整数
,代表满足条件的素数对中的较大者。
20
7 13
4
2 2
n = int(input()) re = [2] #找素数 for i in range(3,n): flag = 0 for j in range(2,i): if i % j == 0: flag = 1 break if flag == 0: re.append(i) re.sort() #双指针判断和 re2 = [] l = 0 r =len(re)-1 while l <= r: if (re[l] + re[r]) == n: re2.append((re[l],re[r])) l += 1 r -=1 elif (re[l] + re[r]) < n: l += 1 else: r -= 1 #排序 re2.sort(key= lambda x:x[1]-x[0]) #输出 if len(re2)==0: print() else: min_,max_= re2[0] print(min_) print(max_)
aaa = int(input()) l=[] def is_sushu(x): for i in range(2,x): if x%i == 0: return False return True for i in range(2,aaa): j = [] b = aaa - i if is_sushu(i) and is_sushu(b): j.extend([i,b]) if len(j) ==2: j.sort() l.append(j) # print(l) l.sort(key=lambda x:x[1]-x[0]) print("\n".join(map(str,l[0])))
""" 1. 接收输入,转int 2. 定义函数,找素数 3. 找出最小素数 """ def isPrimeNumber(num:int): i = 2 while i <= num/2: if num % i == 0: return False i += 1 return True n = int(input()) res = (0,0) for i in range(1, int(n/2)+1): tmp = 1000 if isPrimeNumber(i) and isPrimeNumber(n-i): if abs(n-2*i) < tmp: res = i, n-i print(res[0]) print(res[1])
import math n = int(input()) def is_prime(number: int) -> bool: if number < 2: return False elif number == 2: return True elif number % 2 == 0: return False sqrt_n = int(math.sqrt(number)) + 1 for i in range(3, sqrt_n, 2): if number % i == 0: return False return True left = n // 2 right = n // 2 while not is_prime(left)&nbs***bsp;not is_prime(right): left -= 1 right += 1 print(str(left) + '\n' + str(right))
N = int(input()) primelist = [2,3] res = [] for i in range(4,N): if i % 2 != 0: flag = 1 for j in range(2,int(i/2)+1): if i % j == 0: flag = 0 break if flag == 1: primelist.append(i) for prime in primelist: n = N - prime if n in primelist and n >= prime: res.append((prime , n , n - prime)) for output in sorted(sorted(res, key= lambda x:x[2])[0][:-1]): print(output)
def is_prime(i): if i == 2: return True elif i % 2 == 1: for j in range(3, int(i**0.5)+1, 2): if i % j == 0: return False return True return False n = int(input()) for i in range(n // 2, 1, -1): if is_prime(i) and is_prime(n - i): print(i, n - i, sep='\n') break
n=int(input()) def isss (x): for i in range(2,x//2+1): if x % i == 0: return 0 return 1 ss=[] t=[0]*2 diff=1000 for i in range(2,n+1): if isss(i)==1: ss.append(i) # print(ss) for x in ss: for y in ss: if x+y==n: if abs(x-y)<diff: diff=abs(x-y) t[0]=x t[1]=y print(t[0]) print(t[1])