CF2086E.Zebra-like Numbers
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
我们称一个正整数为斑马数(zebra-like),如果它的二进制表示从最高有效位开始是交替的比特位,并且最低有效位等于 1。例如,数字 1、5 和 21 都是斑马数,因为它们的二进制表示 1、101 和 10101 满足要求,而数字 10 不是斑马数,因为它的二进制表示 1010 的最低有效位是 0。
我们定义一个正整数 e 的斑马值为最小的整数 p,使得 e 可以表示为 p 个斑马数(可以相同也可以不同)的和。
给定三个整数 l、r 和 k,计算满足 l≤x≤r 且 x 的斑马值等于 k 的整数 x 的数量。
输入格式
每个测试包含多个测试用例。第一行包含一个整数 t(1≤t≤100)——测试用例的数量。接下来是测试用例的描述。
每个测试用例的唯一一行包含三个整数 l、r(1≤l≤r≤1018)和 k(1≤k≤1018)。
输出格式
对于每个测试用例,输出一个整数——区间 [l,r] 内斑马值为 k 的整数的数量。
输入输出样例
输入#1
5 1 100 3 1 1 1 15 77 2 2 10 100 1234567 123456789101112131 12
输出#1
13 1 3 0 4246658701
说明/提示
- 在第一个测试用例中,有 13 个符合条件的数字:3,7,11,15,23,27,31,43,47,63,87,91,95。每个数字都可以表示为 3 个斑马数的和。
- 在第二个测试用例中,数字 1 的斑马值为 1,因此输出 1。
- 在第四个测试用例中,区间 [2,10] 内没有数字的斑马值为 100,因此输出 0。
翻译由 DeepSeek V3 完成
输入解题思路,AI测评打分。不知道怎么写?