Back

情報科学概論 Aクラス 宿題 2003.5.20 解答例


次に示す関数 f において x=d のときの値を求めるスクリプトを作成し,以 下の条件でメールに添付して提出すること.スクリプトが動作しない場合には採 点対象外となるので,必ず自分の環境で動作を確認してから提出すること.

f(x) = xa + xb + c x

ここで,a はログイン名の4桁の数字のうち,100の位の数字,b が 10の位の数字,c が1の位の数字であり,da+b+cである.例えばログイン名がb0399とすると,表示結果は次のような形式とする.

Login name: b0399
f(x) = x^3 + x^9 + 9x
f(21) = 794280056031


解答例

s = 399
s0 = 399 % 10
s1 = (399 / 10) % 10
s2 = (399 / 100) % 10
x = s0 + s1 + s2

f = x**s2 + x**s1 + s0 * x

printf "Login name: b0%d\n", s
printf "f(x) = x^%d + x^%d + %dx\n", s2, s1, s0
printf "f(%d) = %d\n", x, f


情報科学概論 Bクラス 宿題 2003.5.20 解答例


次に示す関数 f において x=d のときの値を求めるスクリプトを作成し,以 下の条件でメールに添付して提出すること.スクリプトが動作しない場合には採 点対象外となるので,必ず自分の環境で動作を確認してから提出すること.

f(x) = xa + bxc + x3

ここで,a はログイン名の4桁の数字のうち,100の位の数字,b が 10の位の数字,c が1の位の数字であり,da + b + c である.例えばログイン名がb0399とすると,表示結果は次のような形式とする.

Login name: b0399
f(x) = x^3 + 9*x^9 + x^3
f(21) = 7148520437751



解答例

s = 399
s0 = 399 % 10
s1 = (399 / 10) % 10
s2 = (399 / 100) % 10
x = s0 + s1 + s2

f = x**s2 + s1 * x**s0 + x**3

printf "Login name: b0%d\n", s
printf "f(x) = x^%d + %d*x^%d + x^3\n", s2, s1, s0
printf "f(%d) = %d\n", x, f

Back