問題:前問に続く。 引数が大きい場合、前述の近似式は使えない。そこで、対数関数の性質である式④を使う。 引数xが大きな数の場合、それをe(≒2.72)で割っていき、 lnの中を1以下にすることで、近似式を利用できる。 以下、変数1、2、3番をそれぞれA、B、Cとする。 Aに引数と入れると、Bに戻り値の100倍が返る命令を作る。 まず、引数をAに代入し、小数点の右から数えた位置をCで記録することとする。 例えばAが180000、Cが4のとき、これは「18.0000」を意味する。 Aが6桁になるまで10倍していき(引数が18なら、180000にする)、その都度Cを1ずつ足す。 Aを272で割って100を掛け(2.72で割ったことになる)、Bに100ずつ足していく(戻り値の100倍を返すため)。 Aの桁数が5桁以下になったら6桁になるまで10倍し続け、 またその都度Cを1足していく。(18.0000÷272×100≒6.6100 → 6.61000) 小数点が一番左端、すなわちCが6になったら、引数が1以下になったことを意味するので、この過程は終了となる。 上記の過程(近似式を使う前の過程)である、次のイベント命令を完成させよ。 出題元【RPGツクール2000 イベント命令検定】

問題

前問に続く。 引数が大きい場合、前述の近似式は使えない。そこで、対数関数の性質である式④を使う。 引数xが大きな数の場合、それをe(≒2.72)で割っていき、 lnの中を1以下にすることで、近似式を利用できる。 以下、変数1、2、3番をそれぞれA、B、Cとする。 Aに引数と入れると、Bに戻り値の100倍が返る命令を作る。 まず、引数をAに代入し、小数点の右から数えた位置をCで記録することとする。 例えばAが180000、Cが4のとき、これは「18.0000」を意味する。 Aが6桁になるまで10倍していき(引数が18なら、180000にする)、その都度Cを1ずつ足す。 Aを272で割って100を掛け(2.72で割ったことになる)、Bに100ずつ足していく(戻り値の100倍を返すため)。 Aの桁数が5桁以下になったら6桁になるまで10倍し続け、 またその都度Cを1足していく。(18.0000÷272×100≒6.6100 → 6.61000) 小数点が一番左端、すなわちCが6になったら、引数が1以下になったことを意味するので、この過程は終了となる。 上記の過程(近似式を使う前の過程)である、次のイベント命令を完成させよ。

✨けんてーごっこプレミアム登場!✨
広告なし&便利な機能盛りだくさん

都道府県の検定を探す