掛け算しないで積・平方根・立方根を求める

掛け算しないで積・平方根・立方根を求める幾つかの方法を纏めました.
3
襖屋石蔵 Ishizo FUSUMAYA @shz_fsmy

[2 進法] 89×23 を求めるには, (89,23) → (44,46) → (22,92) → (11,184) → (5,368) → (2,736) → (1,1472) と倍半分にし, 共に偶数の組を除いて, 23+184+368+1472 を計算. #math

2011-01-31 19:12:30
襖屋石蔵 Ishizo FUSUMAYA @shz_fsmy

[Fibonacci 進法?] 17×23 を求めるには, (1,23) → (2,46) → (3,69) → (5,115) → (8,184) → (13,299) と足し算し, 17 = 1+3+13 を見付けて, 23+69+299 を計算. #math

2011-02-27 17:39:46
ぽけとき @pocketokei

@shz_fsmy 17 = 1+3+13で13は10+3だから17=1+3+(10+3)、(1,23) → (2,46) → (3,69)、まで足すのは同じで、あと23の10倍で230はすぐ出るから 23+69+230+69を足すとかもありかなとか思いました #math

2011-02-27 21:52:02
襖屋石蔵 Ishizo FUSUMAYA @shz_fsmy

@pocketokei なるほど. これや http://twitter.com/shz_fsmy/status/32018375831982080 は, 九九を知らずにできる掛け算の方法として伝承されてきたようです. もちろん, 10 倍は簡単ですね.

2011-02-27 22:57:41
襖屋石蔵 Ishizo FUSUMAYA @shz_fsmy

[Edouard Zeckendorf (1901--1983) の定理] 任意の正整数は, 互いに異なる連続しない Fibonacci 数の和として一意的に表せる. 例) 2011 = 1597 + 377 + 34 + 3. #math

2011-02-28 16:21:23
襖屋石蔵 Ishizo FUSUMAYA @shz_fsmy

#perl -le '$x=shift; while ($x>=0) { $x-=$c; $x-=++$c; } print --$c;' 80 # 奇数を順に引くと, 平方根を計算できる. cf. http://t.co/ZevkJBSO

2012-06-13 23:22:26
襖屋石蔵 Ishizo FUSUMAYA @shz_fsmy

掛け算できない人が加減算だけで平方根を効率良く求める方法は? #math @shz_fsmy

2012-06-14 20:47:06
襖屋石蔵 Ishizo FUSUMAYA @shz_fsmy

掛け算できない人が引き算だけで 8086 の平方根を求める方法. http://t.co/lspeG6il の一つの答え. #math http://t.co/WFHukibA

2012-06-15 23:37:13
拡大
襖屋石蔵 Ishizo FUSUMAYA @shz_fsmy

@shz_fsmy #perl -le'$x=shift;$c=0;$d=10**7;while($d>=1){while(1){$y=$x;$y-=(2*$c+$d)*$d;last if$y<0;$x=$y;$c+=$d;}$d/=10;}print $c;' 8086

2012-06-16 19:32:27
襖屋石蔵 Ishizo FUSUMAYA @shz_fsmy

「円を描く場合, 普通は平方根の計算が必要となるが, …それを (Bill) Atkinson は, 一連の奇数を足し合わせると完全平方数になること (1+3=4, 1+3+5=9 など) を利用して処理したらいいと気付いたのだ」<Walter Isaacson> #quote

2013-07-21 18:56:15
襖屋石蔵 Ishizo FUSUMAYA @shz_fsmy

(1 から) n 個の立方数の和 = n 個の整数の和の平方 = T_n 個の奇数の和. http://t.co/YGPmKv49 を改良した. #math http://t.co/w72Qq1rj

2012-07-21 19:19:25
拡大
襖屋石蔵 Ishizo FUSUMAYA @shz_fsmy

(1 から) n 個の立方数の和 = n 個の整数の和の平方. http://t.co/AK8pBwGx をさらに改良した. #math http://t.co/HUInLxzI

2012-11-13 20:32:50
拡大
襖屋石蔵 Ishizo FUSUMAYA @shz_fsmy

@shz_fsmy #perl -le '$b=1; while (++$c) { $y=$ARGV[0]; for (1..$c) { $y-=$b; $b+=2; } last if $y<0; } print --$c;' 6502 # 掛け算せずに立方根を求める.

2012-06-18 20:13:00