[アルゴリズム解答][Python]伯準6588号:Goldバッハの推測
白駿6588問題リンク:https://www.acmicpc.net/problem/6588
📑 問題の説明
金バッハは、4つ以上の偶数を2つの奇数の小数の和として表すことができると推測した.
6以上、1000000以下の偶数が与えられた場合、与えられた数に対して2つの奇数と小数を求めるプログラムを記述する.
入力:6より大きく1000000未満の偶数(0を入力してプログラムを終了)
出力:「n=a+b」に出力します.数字がなければ、「Goldbach'sの推測は間違っています.」しゅつりょく
💡 トラブルシューティング方法
タイムアウトの問題に注意してください.
key point
1.少数の場合にエラトスティンを用いた体を得る.
2.0を入力する前に小数を求める必要がありますので、ループ文の前に100000以下の小数を1回だけ要求します.
(2番がタイムアウトするとは知らなかったので….😂)
💻 コード#コード#
import sys
if __name__ == '__main__':
t = -1
tf_list = [True for i in range(1000001)]
tf_list[0] = False
tf_list[1] = False
for i in range(2, 1001):
if (tf_list[i] == True):
for k in range(i + i, 1000001, i):
tf_list[k] = False
while(1):
t = int(sys.stdin.readline())
if t == 0:
break
check = -1
for i in range(3, t, 2):
if (tf_list[i] and tf_list[t - i]):
print(t, "=", i, "+", t - i)
check = 1
break
if (check == -1):
print("Goldbach's conjecture is wrong.")
💟 詳細
Reference
この問題について([アルゴリズム解答][Python]伯準6588号:Goldバッハの推測), 我々は、より多くの情報をここで見つけました https://velog.io/@yeomja99/알고리즘-문제-풀이파이썬-백준-6588번-골드바흐의-추측テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol