Problem 508 「i-1進数の整数」

ガウス整数 i-1 について考えよう. ガウス整数 a+bi のi-1進数表現とは, 以下のような数字列 dn-1dn-2...d1d0 からなる有限数列である:

  • a+bi = dn-1(i-1)n-1 + dn-2(i-1)n-2 + ... + d1(i-1) + d0
  • それぞれの dk は {0,1} のいずれか
  • 先行ゼロは持たない, すなわち dn-1 ≠ 0, ただし a+bi が 0 の場合を除く

ガウス整数のi-1進数表現は以下のようになる:

11+24i → 111010110001101
24-11i → 110010110011
8+0i → 111000000
−5+0i → 11001101
0+0i → 0

意外なことに, 全てのガウス整数は一意のi-1進数表現を持っている.

a+bi の一意なi-1進数表現内の 1 の個数を f(a+bi) としよう. 例えば f(11+24i) = 9, f(24-11i) = 7.

|a| ≤ L, そして |b| ≤ L となるような全ての整数 a, b に対する f(a+bi) の和を B(L) としよう. 例えば, B(500) = 10795060.

B(1015) mod 1 000 000 007 を求めよ.


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-23 (月) 00:45:57 (939d)