#2
by purin52002 » 8年前
http://mathtrain.jp/pythagoras
こんなサイトがありました。
作成して動作確認するのが面倒だったので、アルゴリズムだけ考えてみました。
こんなときでもないとアルゴリズム書かないので練習もかねて^^;
わかりづらかったら(ってかわかりづらい気がする^^;)申し訳ないです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と表示する関数
目標値がないのにFORループ回すのは頭悪そうですね^^;
WHILEでかけば途中のIF文が省略できそうです^^
[url]http://mathtrain.jp/pythagoras[/url]
こんなサイトがありました。
作成して動作確認するのが面倒だったので、アルゴリズムだけ考えてみました。
こんなときでもないとアルゴリズム書かないので練習もかねて^^;
わかりづらかったら(ってかわかりづらい気がする^^;)申し訳ないですorz
以下、頭の悪そうなアルゴリズム
[code]
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と表示する関数
[/code]
目標値がないのにFORループ回すのは頭悪そうですね^^;
WHILEでかけば途中のIF文が省略できそうです^^