#CIE2011. 计算好数
计算好数
题目描述
若将一个正整数化为二进制数,在此二进制数中,我们将数字 的个数多于数字 的个数的这类二进制数称为好数。
例如:
= ,其中 的个数为 , 的个数为 ,则此数是好数;
= ,其中 的个数为 , 的个数也为 ,则此数不是好数;
=,其中 的个数为 , 的个数为 ,则此数不是好数;
对于给定的 ,写程序求出 之中(包括与)中的好数个数。
输入
一个整数,题目中的 。
输出
一个整数,表示 之中(包括与)中的好数个数。
10
5
提示
若将一个正整数化为二进制数,在此二进制数中,我们将数字 1 的个数多于数字 0 的个数的这类二进制数称为好数。
例如:
(13)10=(1101)2 ,其中 1 的个数为 3 ,0 的个数为 1,则此数是好数;
(10)10 = (1010)2,其中 1 的个数为 2, 0 的个数也为 2,则此数不是好数;
(24)10 =(11000)2,其中 1 的个数为 2, 0 的个数为 3,则此数不是好数;
对于给定的 N,写程序求出 1...N 之中(包括1与N)中的好数个数。
一个整数,题目中的 N。
一个整数,表示1...N 之中(包括1与N)中的好数个数。
10
5
1≤N≤1000