二进制回文串
题目描述
对于一个正整数 n,我们将其转换为不含前导零的二进制表示,如果这个二进制序列从左向右读与从右向左读完全相同,则称该数为二进制回文数。例如,9 的二进制表示为 (1001)2 ,是二进制回文数;12 的二进制表示为 (1100)2,不是二进制回文数。
你的任务是:给定一个正整数 n,计算在 1 到 n 的范围内二进制回文数的数量。
输入格式
输入一行,包含一个正整数 n。
输出格式
输出一行,包含一个数,表示在 1 到 n 的范围内二进制回文数的数量。
样例
输入样例
15
输出样例
6
样例解释
样例 1 中,1 到 15 范围内 1、3、5、7、9、15 是二进制回文数。
数据范围
1≤n≤105。