|
過去ログをよく読みましたか?
その式は間違っています。正しくは、
g(x,y) = 1 (y = 0 のとき)
g(x,y) = g(x*x, y/2) (y が偶数のとき)
g(x,y) = x * g(x*x, (y-1)/2) (y が奇数のとき)
意味は、具体例を考えれば分かるでしょう。
x の 0乗は、1。 (y = 0 のとき)
g(x,6) = g(x*x,3) (y が偶数のとき)
すなわち、x * x * x * x * x * x = (x*x) * (x*x) * (x*x)
g(x,7) = x * g(x*x,3) (y が奇数のとき)
すなわち、x * x * x * x * x * x * x = x * ((x*x) * (x*x) * (x*x))
この説明で納得できますか。
x の 6乗を求めるのに掛け算を 5回しないといけないが、
g(x,6) = g(x*x,3) で、掛け算が 3回で済みますよ、ということです。
|