初めて質問します。よろしくお願いします。
このまえ、学校の授業で問題を出されました、その問題の内容は、
「引数を2つわたして、条件分岐やfor文while文を使わずに大きい方の数値を返す関数を作れ」
というものでしたが、どうすれば良いのか全くわかりません。
どなたか、わかるようでしたら教えてほしいです。
条件分岐を使用しない数値の大小比較
Re: 条件分岐を使用しない数値の大小比較
思いついたので問題です。
a*b=6,a+b=5
であるとき、a,bのうち大きいほうの値はいくらか。
今回は簡単な答えからつくったが他の値でも
考えられるように導出法も考えること。
ヒント:x=a,bとなるようなxの二次方程式
a*b=6,a+b=5
であるとき、a,bのうち大きいほうの値はいくらか。
今回は簡単な答えからつくったが他の値でも
考えられるように導出法も考えること。
ヒント:x=a,bとなるようなxの二次方程式
Re: 条件分岐を使用しない数値の大小比較
返信ありがとうございます。
2次方程式なんて久しぶりに聞いたので全然覚えてないです。
(x-a)(x-b) = 0
x^2-ax-bx+ab = 0
x^2-(a+b)x+ab = 0
a+b = 5 , a*b = 6から
x^2-5x+6 = 0
↑を因数分解して
(x-2)(x-3) = 0
x = 2 , 3
↑から
aとbで大きいのは3? ってことでいいんでしょうか?
2次方程式なんて久しぶりに聞いたので全然覚えてないです。
(x-a)(x-b) = 0
x^2-ax-bx+ab = 0
x^2-(a+b)x+ab = 0
a+b = 5 , a*b = 6から
x^2-5x+6 = 0
↑を因数分解して
(x-2)(x-3) = 0
x = 2 , 3
↑から
aとbで大きいのは3? ってことでいいんでしょうか?
Re: 条件分岐を使用しない数値の大小比較
私が考えていたのと順番を逆に考えましたか。
(x-a)(x-b)=0という形になり、
展開するとx^2-(a+b)x+ab=0となるので
解の公式よりa,bのうち、大きいほうはx=( (a+b) + sqrt( (a+b)*(a+b) - 4*a*b ) )/2.0
である。と書くつもりだったのですが。
条件分岐は禁止されていても条件式は禁止されていませんでした。
(x-a)(x-b)=0という形になり、
展開するとx^2-(a+b)x+ab=0となるので
解の公式よりa,bのうち、大きいほうはx=( (a+b) + sqrt( (a+b)*(a+b) - 4*a*b ) )/2.0
である。と書くつもりだったのですが。
条件分岐は禁止されていても条件式は禁止されていませんでした。