これは私の最初の投稿です。私はPythonの初心者で一般的なプログラミングなので、どこが間違っているのか分かりません。これはプロジェクトオイラーの問題#52を思いついた解決策です(私はそれがおそらく最良の方法ではないことも知っています)。このコードで私の問題は、正しい答えになるとwhile文が壊れないということです。それはそれをキャッチし、私が正しい答えでnumを始めた場合にのみそれを捕まえるでしょう:142857、しかし私は何か他のものでそれを初期化するとき、それは142857を直ちに数え続けます。奇妙なことは、オイラー問題とその1つはうまく動作します。誰もがなぜこれが起こっているのか教えてもらえますか?ありがとう! x2,x3,x4,x5,x6
が全て同じ値であるので、ステートメントが停止しないうちに、
def digits(number):
return [int(x) for x in str(number)]
def same_digits():
num = 1
x2 = sorted(digits(num*2))
x3 = sorted(digits(num*3))
x4 = sorted(digits(num*4))
x5 = sorted(digits(num*5))
x6 = sorted(digits(num*6))
while x2 != x3 != x4 != x5 != x6:
num += 1
print num
質問を削除しないでください - 他人には便利かもしれません。また、以下のすべての回答を無効にします。 – Hooked
うん、私はそれを削除しようとした後、それを実現した。それを復元してくれてありがとうSven =) 申し訳ありません私はここで新しいです。 –