>>218
>>223
式(3)(6), b >= 1, d = 0 のときのみ、 最後の-V_p(d) は -V_p(b)-m
と書きかえる。(もともとは、-V_p(b p^m + d) という項で、こう書けば場合分けはいらなかった)

よく見直すと、その -V_p(b p^m+d) の項は d がゼロのときは出ない「おつり」であることが判明 orz

V_p( C(ap^m , bp^m+d) ) = m + V_p(C(a, b)) + V_p(a-b) - ((d>0) ? V_p(d) : 0)

? : は Cの3項演算子です。これを(3)の修正版とします

>>235
4^t = 2^(2t) なんだから、あらためて解く必要はないのでは
(解くプログラムを作れという課題ならともかくとして)

なおロシア式はいまのところ割る数が素数 p (直上の議論で素数べき)にしか対応してません。
4 より 6 とかですかね

あと lisp で log に誤差がでないかちょっと心配(中で底が 2 のときは別処理してるのかな。
とすると 2 を別の数 に変えた問題で使うときは要注意かも