Q.2のヒント

さて,問題は次の通りでした。


Q.2 「1/10にする」
 MR00に0〜99999の任意の整数が入っています。この状態から,MR00の内容を1/10にするプログラムを書いてください。例えば,最初の値が11なら,1.1になるようにしてください。ただし,普通に書くと,MR00 ÷ 10 = Min00 で6ステップかかりますので,工夫して5ステップに収めてください。なお,他のメモリの内容は不定とします。(FX-502P/602P/603Pで動作確認済み)


とりあえず失敗例を挙げてみましょう。
1. 掛け算を使う
MR00 × .1 = Min00 ... 6ステップ ×
2. %を使う
MR00 × 10 % Min00 ... 6ステップ ×
3. 対数を使う
MR00 log - 1 = 10^x Min00 ... 7ステップ ×
4. 統計機能を使う
MR00 Min08 10 Min09 x~(平均) Min00 ... 7ステップ ×
というわけで,上記の例はいずれも5ステップで目的のプログラムを作ることはできませんでした。しかし,実は上の失敗例の中に正解へのヒントが含まれています。上の4つの中から見込みがありそうな方法を選んで,何か細工できないか考えてみてください。(少なくとも4つのうち1つは見込みがないことが直ちにわかるはずです。)

答えを確かめたい方は,メールでどうぞ。(^^)
counter

[ HomePage | FX-602Pのページ ]

PED00725@nifty.ne.jp, ey5k-myhr@asahi-net.or.jp
Last modified 2001/02/27