#aBC283EX. [ABC283Ex] Popcount Sum

[ABC283Ex] Popcount Sum

AT_abc283_h [ABC283Ex] Popcount Sum

题目描述

请计算所有满足以下条件的整数的 popcount 总和:这些整数在 11NN 之间,且除以 MM 的余数为 RR。 其中,对于正整数 XXXX 的 popcount 指的是 XX 的二进制表示中 11 的个数,即所有使得 2k2^k 位为 11 的非负整数 kk 的个数。 对于每组输入,请回答 TT 个测试用例。

输入格式

输入通过标准输入给出。输入的第 11 行如下:

TT

接下来是 TT 个测试用例。每个测试用例格式如下:

NN MM RR

输出格式

请输出 TT 行,第 ii 行输出第 ii 个测试用例的答案。

输入输出样例 #1

输入 #1

2
12 5 1
6 1 0

输出 #1

6
9

说明/提示

限制条件

  • 1T1051 \leq T \leq 10^5
  • 1MN1091 \leq M \leq N \leq 10^9
  • 0R<M0 \leq R < M
  • 输入均为整数

样例解释 1

11 个测试用例中,11 的 popcount 是 1166 的 popcount 是 221111 的 popcount 是 33,因此答案为 1+2+3=61+2+3=6。 第 22 个测试用例中,11 的 popcount 是 1122 的 popcount 是 1133 的 popcount 是 2244 的 popcount 是 1155 的 popcount 是 2266 的 popcount 是 22,因此答案为 1+1+2+1+2+2=91+1+2+1+2+2=9

由 ChatGPT 4.1 翻译