a, b, c, d の4個の数字を入力とする
もしどれかが 0 なら,それぞれに 0.5 を加える
x = a * d / (b * c)
としたとき,x か 1 / x の大きい方を返す関数を定義せよ
言語は問わない。合計文字数が少ない方がいいぞ!
解答例は,ずっとスクロールダウンして...
import numpy as np
def func(a, b, c, d):
if a * b * c * d == 0:
a, b, c, d = np.array([a, b, c, d])+0.5
OR = a * d / (b * c)
return max(OR, 1 / OR)
func(1,2,3,4) # 1.5
func(0,2,3,4) # 3.8888888888888893
※コメント投稿者のブログIDはブログ作成者のみに通知されます