1906: 计算好数(二进制分类)
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:2
Solved:2
Description
若将一个正整数化为二进制数,在此二进制数中,我们将数字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)中的好数个数。
的个数的这类二进制数称为好数。
例如:
(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)中的好数个数。
Input
一个整数,题目中的N(N ≤ 1000)
Output
一个整数,表示1~N 之中(包括1 与N)中的好数个数
Sample Input Copy
10
Sample Output Copy
5