正の整数を指定するとN
、0 <= a <= b < 2**N
などの整数のペアの数を出力しa*b >= 2**N
ます。
ルール
- あなたの
N
言語の整数の最大ビット幅以下であると仮定することができます(たとえば、Cの場合、マシンのアーキテクチャに応じて、をN
超え32
たり64
、を超えたりしません)。ご使用の言語が任意の幅の整数を処理できる場合、上限はありませんN
。
テストケース
1 0
2 3
3 19
4 96
5 437
6 1876
7 7804
8 31904
9 129170
10 520135
11 2088143
12 8369175
13 33512744
14 134128704
15 536681553
16 2147082274
注:現在、より大きなテストケースの生成に取り組んでいます。私のブルートフォースアプローチは本当に遅いです。
—
Mego
@ user202729
—
Mego
a <= b
条件に従わないことにより、いくつかのペアを複製しています。
さらにいくつかのテストケース:
—
user202729
{0, 3, 19, 96, 437, 1876, 7804, 31904, 129170, 520135, 2088143, 8369175, 33512744, 134128704, 536681553, 2147082274, 8589086503, 34357951447}
密接に関連:en.wikipedia.org/wiki/Divisor_summatory_functionを。既知の閉じた形式はありません。
—
orlp