ホームページ  >  記事  >  バックエンド開発  >  Pythonですべての水仙の数を出力する方法

Pythonですべての水仙の数を出力する方法

青灯夜游
青灯夜游オリジナル
2021-05-10 15:31:2870415ブラウズ

出力方法: まず、for ステートメントを使用して 100 から 999 までのすべての数値をループし、それを変数 n に代入します。次に、変数 n を分解して、一の位 k、十の位 j、および百の位を取得します。 digit i ; 最後に、i、j、k の数値の 3 乗和が n に等しいかどうかを確認し、等しい場合は、"print(n)" ステートメントを使用して出力します。

Pythonですべての水仙の数を出力する方法

このチュートリアルの動作環境: 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。