出力方法: まず、for ステートメントを使用して 100 から 999 までのすべての数値をループし、それを変数 n に代入します。次に、変数 n を分解して、一の位 k、十の位 j、および百の位を取得します。 digit i ; 最後に、i、j、k の数値の 3 乗和が n に等しいかどうかを確認し、等しい場合は、"print(n)" ステートメントを使用して出力します。
このチュートリアルの動作環境: Windows7 システム、Python3.7 バージョン、DELL G3 コンピューター
いわゆる「水仙番号」 3 次元の、立方体の合計が数値そのものに等しい桁数を指します。たとえば、153=1 の 3 乗 + 5 の 3 乗 + 3 の 3 乗なので、153 は「水仙の数字」です。
Python はすべての水仙の数を出力します
for n in range(100,1000): i = n // 100 j = n // 10 % 10 k = n % 10 if n == i ** 3 + j ** 3 + k ** 3: print (n)
出力:
153 370 371 407
詳細な説明
プログラム分析: を使用for ループ制御の 100 ~ 999 の数値。各数値は、10 と 100 の単位に分解されます。
1 行目:
for n in range(100,1000):
水仙番号は 3 桁の数値なので、100 から 999 までのすべての数値をループして n
2 行目:
i = n // 100
100 を n で割ると、実際には 3 桁の 100 が得られます。これを i
に割り当てます 3 行目:
j = n // 10 % 10
10 を n で割ります, すると、百と十で構成される 2 桁の数値が得られます。次に、この数値を 10 で割って余りを求めます。十の位の数値が得られ、それを j
4 行目:
k = n % 10
nを10で割った余りを求めます。nの一桁の数字が得られます。それをkに代入します。このとき、3桁のnのうち、百、十、十の位は、すでに 1 桁を取得し、それぞれ i、j、k に割り当てます。
5 行目:
if n == i ** 3 + j ** 3 + k ** 3:
判定: n がその百の位と十の位の 3 乗に等しい場合cube が 1 桁の立方体であれば、それは水仙番号です。このとき、条件を満たす n を出力します。そうでない場合は、次のループに入ります。
[関連する推奨事項: Python3 ビデオ チュートリアル ]
以上がPythonですべての水仙の数を出力する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。