私はプロジェクトオイラーを試していましたが、これに固執しています:
回文数は、両方の方法で同じように読み取られます。2つの2桁の数字の積から作られた最大の回文は9009=9199です。
2つの3桁の数字の積から作られた最大の回文を見つけます。
for i in range(1000,100,-1):
for j in range(1000,100,-1):
test = i*j
test = str(test) #turn product into string
test2 = test[2:] #take last two numbers
test2 = test2[::-1] #flip them
if test[:2] == test2: #if it's a palindrome, the first two should
print(i, "\t", j) #match the flip of last two
input("\n\nPress the ENTER key to exit.")
実行しても何も起こりません。コマンドラインは計算しますが、何も出力しません。しかし、プログラムは終了します。
大きい数字には最初と最後の2つの数字だけではないことはわかっていますが、それらを確認するのに十分な数の回文があるはずです。
これが次のものです:
合計が1000であるピタゴラストリプレットを見つけます。a^2+ b ^ 2 = c ^ 2、a + b + c = 1000
for a in range(1,32):
for b in range(1,32):
c = (a**2 + b**2)**.5
if a + b + c == 1000:
print(a,"\t",b,"\t",c)
input("\n\nPress the ENTER key to exit.")
最後のプログラムと同様に、出力はありません...しかし、繰り返しになりますが、出力は終了します。しかし、両方ともforループがネストされていることに気づきました。これはそれと関係がありますか?