TIL)9020金バッハ推測
6533 ワード
🧵 アラトスの体
これは少数を求める最も効率的な方法です.
💡 アイデア
eratos = [1] * 10001
eratos[0] = 0
eratos[1] = 0
for i in range(2, 10000):
if eratos[i] == 1:
j = 2 # j는 2부터 시작
while i*j <= 10000:
eratos[i*j] = 0
j += 1
🧶 キムバッハの推測
エラトスの体を利用して解決した問題.
数字を入力すると、ラトスのふるいで少数であれば条件を満たして出力します.
eratos = [1] * 10001
eratos[0] = 0
eratos[1] = 0
for i in range(2, 10000):
if eratos[i] == 1:
j = 2 # j는 2부터 시작
while i*j <= 10000:
eratos[i*j] = 0
j += 1
# N을 입력받음
N = int(input())
for i in range(0, N):
num = int(input())
num1 = -1
num2 = -1
# 절반의 숫자만 반복
for j in range(2, int(num//2)+1):
if eratos[j] and eratos[num-j]:
num1 = j
num2 = num-j
print(num1, num2)
Reference
この問題について(TIL)9020金バッハ推測), 我々は、より多くの情報をここで見つけました https://velog.io/@mongle/week01-9020-골드바흐의-추측テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol