#1310. 【例题4】数位翻转
【例题4】数位翻转
【例题4】数位翻转
题目描述
设为将的二进制表示进行翻转后得到的数。也就是如果的二进制表示是,,,(其中),那么它翻转过来就是,,,。例如,,。
设为的二进制表示下的个数。给定,求。
输入格式
第一行一个正整数。
输出格式
输出一行一个整数,表示答案。
数据范围与提示
- 对于的数据,满足;
- 对于的数据,满足;
- 另有的数据,满足存在某个使得;
- 对于的数据,满足。
样例
3
5
21312421
264774008
设g(x)为将x的二进制表示进行翻转后得到的数。也就是如果x的二进制表示是a1,a2,…,an(其中a1=1),那么它翻转过来就是an,an−1,…,a1。例如g(2)=1,g(6)=3,g(10)=5。
设cnt(x)为x的二进制表示下1的个数。给定R,求∑i=1Rcnt(i+g(i))。
第一行一个正整数R。
输出一行一个整数,表示答案。
3
5
21312421
264774008