HOME»基本情報技術者試験掲示板»平成21年秋期午後問8
投稿する
fの値と同様にdの値を求める部分になります。
fのf←((a3×x+a2)×x+a1)×x+a0に習うと
dはd←((b2 )×x+b1)×x+b0となります。
行番号13,14でfは(a3×x+a2)を設定し、dは(b2 )を設定します。
その後の行番号15~18で
×x+a1、×x+b1
次のループで
×x+b0、×x+b0
の処理を行っていきます。
これを次数nで考えることにより、
空欄cはb[n-1]、空欄dはb[k]となります。
a3x^3+a2x^2+a1^x+a0のままだとa3×x×x×x+a2×x×x+a1×x+a0となり乗算が6回、加算が3回なのですが
((a3×x+a2)×x+a1)×x+a0にする事で乗算が3回、加算が3回と計算回数が減ります。
次数nが大きくなると差異も大きくなります。
行番号9~11は〔アルゴリズム2の説明〕の(2)の処理を行い、配列bに値を設定しております。
行番号13~18は〔アルゴリズム2の説明〕の(3)の①、②の処理を行い、f,dに値を設定しております。
平成21年秋期午後問8 [3543]
エメラルドさん(No.1)
質問です。
他の解説を読ませていただきましたが、どうしても空欄c,dについて分かりません。
分からない箇所を具体的に示します
ご解説お願いします
https://www.fe-siken.com/kakomon/21_aki/pm08.html
他の解説を読ませていただきましたが、どうしても空欄c,dについて分かりません。
分からない箇所を具体的に示します
>① 空欄cについて15行目の繰り返しの初期値がn-2になっているのでその前の空欄cがn-1にならないといけないということ?
>② 例としてf←((a3×x+a2)×x+a1)×x+a0のように工夫したとあるが抽象的にはどう変わったのか?
>③ そもそもプログラム2の一部はどのような処理を行っているのか?
>④ 空欄b(行番号17はどんな処理をしているのか?
ご解説お願いします
https://www.fe-siken.com/kakomon/21_aki/pm08.html
2021.08.15 00:02
関数従属さん(No.2)
★FE ゴールドマイスター
>① 空欄cについて15行目の繰り返しの初期値がn-2になっているのでその前の空欄cがn-1にならないといけないということ?
>④ 空欄d(行番号17)はどんな処理をしているのか?
fの値と同様にdの値を求める部分になります。
fのf←((a3×x+a2)×x+a1)×x+a0に習うと
dはd←((b2 )×x+b1)×x+b0となります。
行番号13,14でfは(a3×x+a2)を設定し、dは(b2 )を設定します。
その後の行番号15~18で
×x+a1、×x+b1
次のループで
×x+b0、×x+b0
の処理を行っていきます。
これを次数nで考えることにより、
空欄cはb[n-1]、空欄dはb[k]となります。
>② 例としてf←((a3×x+a2)×x+a1)×x+a0のように工夫したとあるが抽象的にはどう変わったのか?
a3x^3+a2x^2+a1^x+a0のままだとa3×x×x×x+a2×x×x+a1×x+a0となり乗算が6回、加算が3回なのですが
((a3×x+a2)×x+a1)×x+a0にする事で乗算が3回、加算が3回と計算回数が減ります。
次数nが大きくなると差異も大きくなります。
>③ そもそもプログラム2の一部はどのような処理を行っているのか?
行番号9~11は〔アルゴリズム2の説明〕の(2)の処理を行い、配列bに値を設定しております。
行番号13~18は〔アルゴリズム2の説明〕の(3)の①、②の処理を行い、f,dに値を設定しております。
2021.08.15 16:52
エメラルドさん(No.3)
ありがとうございます
ご回答を参考に再度考えます
ご回答を参考に再度考えます
2021.08.16 21:54