2284 - 【入门】计算好数

题目描述

若将一个正整数化为二进制数,在此二进制数中,我们将数字 1 的个数多于数字 0 的个数的这类二进制数称为好数。

例如:

(13)_{10} = (1101)_2,其中 1 的个数为 30 的个数为 1,则此数是好数;

(10)_{10} = (1010)_2,其中 1 的个数为 20 的个数也为 2,则此数不是好数;

(24)_{10} = (11000)_2,其中 1 的个数为 20 的个数为 3,则此数不是好数;

对于给定的 N,写程序求出 1\sim N 之中(包括 1N)中的好数个数。

输入

一个整数,题目中的 NN ≤ 1000)。

输出

一个整数,表示 1 \sim N 之中(包括 1N)中的好数个数。

样例

输入

10

输出

5
来源

电子学会二级 202106真题

标签
题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 13
通过人数 10
金币数量 1 枚
统计
上一题 下一题