切り捨て総和の公式
過去ブログの転載です。
を求めます。ただし、は正の数のみという条件が要ります。マイナス入ったら変形してこの形にします。
は床関数です。中身が正の数なので、この場合は小数点以下切り捨てと同義です。要するに有理数の切り捨てしていったものを足していったらどうなるの、という式です。
何でこんなものを求めるのかというと、ベズー方程式(一次の不定方程式)の解の個数を計算したくて、その途中計算で必要になったためです。床関数とか天井関数とか使っていると、案外色んな所で登場する総和の式なので、公式にしてしまっておけば何かと便利だろうということでございます。
結論から言えば、この総和の式は閉じた式で表わすことが出来ません。何でしょうね。特別な場合を除いて、どうがんばってもシグマが残ってしまいます。未完成なのか仕方ないのか判断が付かないのですけど、多分初等関数では表現できないでしょう。
そこで、まあ、これなら計算しやすくなるだろう、という形にまで変形することを試みます。
まず、導入としてがの倍数だったときのことを考えてみます。
を例にして、愚直に足し算していってみましょう。
1+2+3+3+4
+5+6+7+7+8
+9+10+11+11+12
+13+14+15+15+16
+17+18+19+19+20
+21+22+23+23+24
分母が5なので5個ずつ足して縦に並べてみてます。
当然ですけど、がの倍数だときちんとこのように個ずつ並べることができます。
すると、最初の(1+2+3+3+4)というのを土台にして、これらすべてに4を足したものが次の(5+6+7+7+8)になっているのが確認できますね。その次の(9+10+11+11+12)も同じくその前のに4ずつ足したものになっています。分子のパターンがを5で割った余りで変化するため、このように周期性が出るのです。
最初の項をとして、上の並べた数の行列目は と表現できることが分かります。
一般に、と表現出来ることが分かりますね。
従って、がの倍数なら は
と変形することが可能になります。
これを何やかんやして計算していけば、
まで計算することが出来ます。
後は残ってるシグマについて考察すればOKですね。
を求めましょう。今度は足し算の項数と分母の値が同じ場合です。ほとんどこれが求めたいものの核心です。難しいですね。これはちょっとややこしいことになります。
例えば切り捨ての無い形である について考えてみます。これは書き下すと になりますね。
また、切り捨てがない場合は普通に総和の公式を使って
とすぐ求められます。
切り捨ての総和は、ここから小数部分の総和を引き算してやれば得られます。の小数部分だけに着目して総和を計算してみましょう。
11/7=1+4/7
22/7=3+1/7
33/7=4+5/7
44/7=6+2/7
55/7=7+6/7
66/7=9+3/7
77/7=11+0/7
よく見ると、小数部分が全部違いますね。
分母の個数と足し算の個数がどちらも7個で、分子を並べ替えると0~6すべてが揃います。不思議なことのようですが、これは必ず成り立ちます。
が互いに素なとき、はすべて異なります。もし同じ値のものがあったら矛盾するから、として示すことが出来ます。
一方での小数部分はですから、
の範囲だとがすべて異なるため、小数部分がすべて異なると言えるのです。
すべて異なるのであれば、並べ替えれば必ず0+1+2+3+4+5+6=21と計算出来るので、すべて足し算しなくても小数部分はと計算することが可能です。
一般にが互いに素であれば、の範囲におけるの小数部分の総和はとなるので
が得られます。
ただしこれはが互いに素じゃないと成り立たないので、一般の場合についても考える必要があります。
単にだったら約分すれば済む話ではあるのですが、求めたいのはなので、のせいで約分出来ないことがあるためです。
について考えてみましょう。
ですが、
それぞれの小数部分の総和は となります。
小数部分の分子は7, 5, 3, 1が2回繰り返されているようですね。これは0+1+2+3を2倍してそれぞれに1足して1+3+5+7とし、2回足されていることから2倍して小数部分の分子の総和が得られます。
と変形できるので、約分したを2周期分足すから2回繰り返され、約分前はその2倍ですから、分子の間隔が2ずつになって0+2+4+6となります。
この2周期というのは6と8の最大公約数から来ていますね。を足した分がずれになって、1+3+5+7となっています。
ずれの方は、この場合は単に1ずつ足せばOKですけれど、実際は小数部分の分子は分母である8以上にはなりませんので、8で割った余りのみが足されます。
でも、どんな風に足したって最大公約数が2の場合は、並べ替えれば0+2+4+6 か 1+3+5+7 の2通りしかありませんので、
と考えてやれば良いことになります。
従って以上を一般化して、のとき(は1周期分の足し算個数です)
の各小数部分の総和は、
と表され、これを変形していくと、
となります。ねーややこしいでしょ。自分でももうよくわかんないよ。
この小数部分の式を利用して、
を作ることが出来ます。
が互いに素だったらを代入してやればいいので、さらにとしてやればと同じ式になりますね。
でしたから、ここの右辺のシグマの式に代入してやれば、
が得られます。これががの倍数のときの答えです。
の倍数になっていれば、多少長いけど閉じた式で表わすことが可能です。
問題なのはがの倍数でないときになります。
↓さっきこんな足し算の式を提示しましたけれど、
1+2+3+3+4
+5+6+7+7+8
+9+10+11+11+12
+13+14+15+15+16
+17+18+19+19+20
+21+22+23+23+24
がの倍数でないときはきれいに並びません。そのため、きれいに並ぶところだけを切り取って、残りを別途足し算するということになります。
こんな風に分けてやれば、第一項は上限がの倍数ですからさっき作った公式から
となりますので、第二項について考えます。
範囲の下限を1からにするためにと変数変換すると、
になることを利用して、
となります。
最後に残ったですが、これはどうしようもないと思います。
さっき はすべて異なるから、何が来たって並べ替えれば、きれいにになる、ということでしたけれど、このシグマを求めるためには任意の場所で区切ったときのの総和が必要です。
しかし、どうもそれは閉じた式で表わすことが出来ないらしくて、これ以上シグマを外すことは不可能だろうということになりました。もし閉じた式で表わすことが出来るのでしたらとっても嬉しいことになるのですけど、現状よくわかんないので、ここで計算はおしまいです。って多分すごい小さい値になるだろうから、まあ、いいんじゃないかなぁ……
この部分だけ順番に足し算していくことになりますが、がでかいときは大変そうです。
以上から、一般の(全部非負整数)において、
となることが得られました。
長すぎてヤバイ気がしますけれど、が互いに素だったりrが無かったりしたら割とすっきりした式になるはずなので、その時々で色々改変してください。