ホームページ  >  記事  >  バックエンド開発  >  Python はピタゴラス数の最初の 100 セットを取得するメソッドを実装します

Python はピタゴラス数の最初の 100 セットを取得するメソッドを実装します

不言
不言オリジナル
2018-05-04 14:39:534551ブラウズ

この記事では、主に Python でピタゴラス数の最初の 100 セットを取得する方法を紹介します。これには、Python の数値計算と判断関連の操作スキルが含まれます。必要な方は参考にしてください。最初の 100 セットのピタゴラス数メソッド。詳細は次のとおりです。

当初はこのアルゴリズムを実行するために徹底的なヒューリスティックを使用したいと考えていましたが、後からそれがまだ少し面倒であることがわかりました。ネットで次のような解法を見つけました:

aが1より大きい奇数2n+1のとき、b=2n^2+2n、c=2n^2+2n+1となります。実際には、a の平方数を 2 つの連続する自然数に分割することです。

次のようにコードを記述します:

#!/usr/bin/python
for n in range(1,101):
 a = 2 * n +1
 b = 2 * (n** 2) + 2 * n
 c = b + 1
 # check theresult
 if a ** 2 +b ** 2 == c ** 2:
  print("a= %d, b = %d, c = %d" %(a,b,c))

プログラムの実行結果:

a = 3, b = 4, c = 5
a = 5, b = 12, c = 13

a = 7, b = 24、c = 25
a = 9、b = 40、c = 41
a = 11、b = 60、c = 61
a = 13、b = 84、c = 85
a = 15、b = 112、c = 113
a = 17、b = 144、c = 145
a = 19、b = 180、c = 181
a = 21、b = 220、c = 221
a = 23、b = 264、 c = 265
a = 25、b = 312、c = 313
a = 27、b = 364、c = 365
a = 29、b = 420、c = 421
a = 31、b = 480、c = 481
a = 33、b = 544、c = 545
a = 35、b = 612、c = 613
a = 37、b = 684、c = 685
a = 39、b = 760、c = 761
a = 41、b = 840、c = 841
a = 43、b = 924、c = 925
a = 45、b = 1012、c = 1013
a = 47、b = 1104、c = 1105
a = 49、b = 1200、c = 1201
a = 51、b = 1300、c = 1301
a = 53、b = 1404、c = 1405
a = 55、b = 1512、c = 1513
a = 57、 b = 1624、c = 1625
a = 59、b = 1740、c = 1741
a = 61、b = 1860、c = 1861
a = 63、b = 1984、c = 1985
a = 65、b = 2112、c = 2113
a = 67、b = 2244、c = 2245
a = 69、b = 2380、c = 2381
a = 71、b = 2520、c = 2521
a = 73、b = 2664、 c = 2665
a = 75、b = 2812、c = 2813
a = 77、b = 2964、c = 2965
a = 79、b = 3120、c = 3121
a = 81、b = 3280、c = 3281
a = 83、b = 3444、c = 3445
a = 85、b = 3612、c = 3613
a = 87、b = 3784、c = 3785
a = 89、b = 3960、c = 3961
a = 91、b = 4140、c = 4141
a = 93、b = 4324、c = 4325
a = 95、b = 4512、c = 4513
a = 97、b = 4704、c = 4705
a = 99、b = 4900、c = 4901
a = 101、b = 5100、c = 5101
a = 103、b = 5304、c = 5305
a = 105、b = 5512、c = 5513
a = 107、 b = 5724、c = 5725
a = 109、b = 5940、c = 5941
a = 111、b = 6160、c = 6161
a = 113、b = 6384、c = 6385
a = 115、b = 6612、c = 6613
a = 117、b = 6844、c = 6845
a = 119、b = 7080、c = 7081
a = 121、b = 7320、c = 7321
a = 123、b = 7564、 c = 7565
a = 125、b = 7812、c = 7813
a = 127、b = 8064、c = 8065
a = 129、b = 8320、c = 8321
a = 131、b = 8580、c = 8581
a = 133、b = 8844、c = 8845
a = 135、b = 9112、c = 9113
a = 137、b = 9384、c = 9385
a = 139、b = 9660、c = 9661
a = 141、b = 9940、c = 9941
a = 143、b = 10224、c = 10225
a = 145、b = 10512、c = 10513
a = 147、b = 10804、c = 10805
a = 149、b = 11100、c = 11101
a = 151、b = 11400、c = 11401
a = 153、b = 11704、c = 11705
a = 155、b = 12012、c = 12013
a = 157、 b = 12324、c = 12325
a = 159、b = 12640、c = 12641
a = 161、b = 12960、c = 12961
a = 163、b = 13284、c = 13285
a = 165、b = 13612、c = 13613
a = 167、b = 13944、c = 13945
a = 169、b = 14280、c = 14281
a = 171、b = 14620、c = 14621
a = 173、b = 14964、 c = 14965
a = 175、b = 15312、c = 15313
a = 177、b = 15664、c = 15665
a = 179、b = 16020、c = 16021
a = 181、b = 16380、c = 16381
a = 183、b = 16744、c = 16745
a = 185、b = 17112、c = 17113
a = 187、b = 17484、c = 17485
a = 189、b = 17860、c = 17861
a = 191、b = 18240、c = 18241
a = 193、b = 18624、c = 18625
a = 195、b = 19012、c = 19013
a = 197、b = 19404、c = 19405
a = 199, b = 19800, c = 19801
a = 201, b = 20200, c = 20201

プログラムにピタゴラスかどうかの判定を加えているので、このリストは正確なはずです。この小さな問題を解決した後、私自身の感覚としては、物事を進める上では依然としてアルゴリズムが重要であるということです。

関連する推奨事項:

Python で実装された最大公約数アルゴリズムの例

matplotlib に基づいて Python で実装された正弦波信号の時間領域波形とスペクトログラムの例

以上がPython はピタゴラス数の最初の 100 セットを取得するメソッドを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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