最近c言語を始めたばかりで初心者です
1≦a≦100及び1≦b≦100をそれぞれ満たす2つの自然数a,bについて、a^2+b^2=c^2を満たす自然数a,b,cの組み合わせを列挙するプログラムの作り方が全然わかりません。
作成していただけると助かります。軽く解説を入れてくれたら助かります
以下が実行例です
3^2+4^2=5^2
4^2+3^2=5^2
5^2+12^2=13^2
中略
100^2+75^2=125^2
c言語の多重ループです
- purin52002
- 記事: 235
- 登録日時: 7年前
- 連絡を取る:
Re: c言語の多重ループです
http://mathtrain.jp/pythagoras
こんなサイトがありました。
作成して動作確認するのが面倒だったので、アルゴリズムだけ考えてみました。
こんなときでもないとアルゴリズム書かないので練習もかねて^^;
わかりづらかったら(ってかわかりづらい気がする^^;)申し訳ないですorz
以下、頭の悪そうなアルゴリズム
目標値がないのにFORループ回すのは頭悪そうですね^^;
WHILEでかけば途中のIF文が省略できそうです^^
こんなサイトがありました。
作成して動作確認するのが面倒だったので、アルゴリズムだけ考えてみました。
こんなときでもないとアルゴリズム書かないので練習もかねて^^;
わかりづらかったら(ってかわかりづらい気がする^^;)申し訳ないですorz
以下、頭の悪そうなアルゴリズム
algorithm pitagoras is
FOR m = 2 to inf , n = 1 to inf
a <- m^2 - n^2
b <- (2mn)^2
c <- m^2 + n^2
IF a > 100 or b > 100 THEN
RETURN
ENDIF
CALL print(a ,b ,c)
CALL print(b, a, c)
INCREMENT m
INCREMENT n
ENDFOR
//print(a, b, c)はa^2+b^2=c^2と表示する関数
WHILEでかけば途中のIF文が省略できそうです^^
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
Re: c言語の多重ループです
優しい問題から考えてみましょう。moo さんが書きました:最近c言語を始めたばかりで初心者です
次のプログラムは書けますか?
1≦a≦5 及び 1≦b≦5 をそれぞれ満たす2つの自然数 a, b について、
自然数 a, b の組み合わせ(順列)をすべて列挙するプログラム
実行例
1 1
1 2
1 3
中略
5 5
次のプログラムは書けますか?
1≦a≦10 及び 1≦b≦10 をそれぞれ満たす2つの自然数 a, b について、
a + b = 10 を満たす自然数 a, b の組み合わせを列挙するプログラム
実行例
1 + 9 = 10
2 + 8 = 10
3 + 7 = 10
中略
9 + 1 = 10