• ベストアンサー

エクセルでピタゴラスの組をつくる。

ピタゴラス(x^2+y^2=z^2)で、 表を  |0|1|2 |3 |・・・・ _______________________ 1|1|2 |5 |10|・・・・・・ 2|4|5 |8 |13|・・・・・・ 3|9|10|13|20|・・・・・・ . | . | . | と作ったとき、(x^2+y^2=z^2)を満たす自然数の くみを簡単に探す方法はありますか? 平方して自然数だけを探すのはx,yを大きくしたとき 目で見つけるのは困難ですので。

質問者が選んだベストアンサー

  • ベストアンサー
  • tatsumi01
  • ベストアンサー率30% (976/3185)
回答No.6

No. 2, No. 5 のものですが、すみません。No. 5 の回答で誤解していました。 No. 3 (=No. 1) の sanori さんは、私 (No. 2) の方法でみつからないのは 5, 12, 13 7, 24, 25 9, 40, 41 20, 21, 29 と書かれていたんですね。(3, 4, 5) はみつかる方でした。 誤解していたのは申し訳ないんですが、 5, 12, 13 7, 24, 25 9, 40, 41 については、私 (No. 2) の方法でみつかります。ただし、 10, 24, 26 14, 48, 50 18, 80, 82 と2倍した数値です。 20, 21, 29 は N が整数の範囲ではみつかりませんが、有理数なら見つかります。 2N, N^2+1, N^2-1, で N=5/2 とおき、三つの数を 4倍すると上の値になります。 恐らく、全てのピタゴラス組はこれでみつかりますが、残念ながら有理数を一列に並べるのは困難です (「カントルの方法ならできる」というのはなし)。

その他の回答 (5)

  • tatsumi01
  • ベストアンサー率30% (976/3185)
回答No.5

No. 2 のものです。 質問から答えが微妙に逸れている気がします。koton_ さんが質問で示された表の意味がよくわからないので、適切な回答になっているかどうか疑問です。私の回答は、ピタゴラス組をみつける方法でして、ある組がピタゴラス組かどうかを調べるのは No. 1 さんの方法が実際的でしょう。 ところで、No. 3 (No. 1) さんは、私の方法で 3, 4, 5 8, 15, 17 はみつからないと書いておられますが、じつは 4, 3, 5 6, 8, 10 はみつかるんです (N=2 or N=3)。これは、実質的に同じものです。 8, 15, 17 もみつかります (N=4)。 なぜみつからないと書かれたかわかりませんが、私はエクセルを書いて N=100 まで確認しました (An*An+Bn*Bn-Cn*Cn が 0 になることを検算しました)。 もちろん、この方法ですべてのピタゴラス組がみつからないことは知っています。ただ、N の代わりに既約有理数 q/p>1 を代入して、共通分母を払えば多分見つかるのではないでしょうか。 たとえば、q/p=6/5 とすると、 11, 60, 61 が出てきます。(もっとも、これは N=11 を代入したのと同じですが。)

  • kabaokaba
  • ベストアンサー率51% (724/1416)
回答No.4

ピタゴラス数は m,nを整数としたとき m^2-n^2,2mn,m^2+n^2 で与えられるから, m,nを適当に与えれば それで計算できます. これで計算できる値のうち 最大公約数が1のものだけを引っ張り出します そういう組を整数倍したものを集めていけば 全部のピタゴラス数がでてきます

  • sanori
  • ベストアンサー率48% (5664/11798)
回答No.3

#1で回答したものです。 #2さんのやり方は、例えば、学校の数学の先生が生徒さん達に出題する演習問題文中の数をとえあえず1組~数組探したいときに便利ですね。 Nが整数でなくても、常に 4N^2 + (N^4 - 2N^2 + 1) = (N^4 + 2N^2 + 1) は成り立ちますから、Nが整数であれば、ピタゴラスの組になることを利用している式です。 ただ、 その方法ですと、条件を満たす全ての組は発見できません。 直角三角形の斜辺と、残りの2辺とのうちの1辺との長さの差が2であるものしか発見できないからです。 (N^2+1) - (N^2-1) = 2 例えば、 3, 4, 5 8, 15, 17 が、それに該当します。 しかし、私が昨日、40までの整数で試しただけでも、 5, 12, 13 7, 24, 25 9, 40, 41 20, 21, 29 等々・・・ 非常に高い頻度で、その式に従わない組が出現しています。 40,40,40√2 より大きいところまで表を作って調べてはいませんが、それ以上のところまで調べていっても、むしろ、その式に従わない組の方が多いような気がします。

  • tatsumi01
  • ベストアンサー率30% (976/3185)
回答No.2

2N, N^2-1, N^2+1 は N が整数のとき、ピタゴラスの組になります。 この性質を使えば簡単です。 N=2 と N=3 のときは比例する同じ組になります。他にも同値の組が出るかも知れません。 また、これで全てのピタゴラス組が出るかどうかは分かりません。

  • sanori
  • ベストアンサー率48% (5664/11798)
回答No.1

ルートの計算結果が整数か否かを判定すればよいので、 簡単に、こんなやり方じゃ駄目っすか? (小数点以下を非常に細かいところまで下っていったときには、さすがに誤差が出ますが) 項目名(数字)を ・表の横方向(B1、C1、D1・・・)に、1,2、3・・・ ・表の縦方向(A2,A3、A4・・・)に、1,2,3・・・ と置いたとき、 セルB2に =if(int((B$1^2+$A2^2)^0.5)=(B$1^2+$A2^2)^0.5,"o","x") と書いた後、 B2を「コピー」して、 それをB2から右下方向へ、ずらーっと「貼付け」する。 これで即席の○×表が、いっちょ上がり!

関連するQ&A