電卓のキー操作(なぞなぞ)
2017.1.1
サイトマップ 、トップ << 雑談 <<*> 逆ポーランド法
RPNや通常電卓でのキー操作の話題を上げました。
私が個人的に最初に触ったのは、親が事務職だったので、キャノンのAC電源の電卓だったと思います。
記憶が定かではありませんが、%キーはありましたが、メモリもたぶん無く、四則の優先順位判断などなく、そのとおり入力した順番に演算するものだったと思います。
すると、この電卓しか道具が無い時
S1=Σd(n)*n, = d(n)*n + d(n-1)*(n-1)
+ d(n-2)*(n-2)+.........+d(2)*2 + d(1)*1
の計算は、どのような、方法で実現するでしょうか?(なぞなぞ)
d(n), *, n, +, d(n-1), *, n-1, +, d(n-2), *, n-2, *, ....
の操作では、入力順の優先順位ですから、
((d(n)*n+d(n-1))*(n-1)+d(n-2))*(n-2).....
=d(n)*n*(n-1)*(n-2)*.....2 + d(n-1)*(n-1)*(n-2)*.....*2
+ ............+.d(3)*3*2 + d(2)*2+ d(1)
となってしまいます。これを回避するのは、
S=Σ{d(n)*n/(n-1) +d(n-1)}
=(( d(n)*n/(n-1) +d(n-1) )*(n-1)/(n-2) + d(n-2) )*(n-2))/(n-3)
+ d(n-3) )*(n-3)/(n-4) ........
2項全体に掛け算するので、一方を事前に割ってから加算し、それから、両者に掛け算することで、希望通りの計算ができます。
パズルだと思って、いろいろ遊ぶのは楽しいと思います。いまどきこのような化石電卓に出会うことはないと思いますが、その時使える道具で工夫を考えるのも重要です。 とはいえ、割り算することにより、割り切れない場合の丸め誤差が発生します。そういう事も実運用するには、しっかり配慮する必要があります。
この計算方法は、自分で考え付いたのではなく、何かを読んで、感心した記憶があるので、雑誌の電卓記事か、コラムの豆知識だったんだと思います。 いや、そもそも電卓の取説だったかな?
サイトマップ 、トップ << 雑談 <<*> 逆ポーランド法