若将一个正整数化为二进制数,在此二进制数中,我们将数字 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(N ≤ 1000)
输出
一个整数,表示 1~N 之中(包括 1 与 N)中的好数个数
样例输入
10
样例输出
5
1778:好数字
#include<iostream>
using namespace std;
int main() {
int a,i=1,L=0,y=0,sum=0,tmp;
cin>>a;
for(int j=1;j<=a;j++){
tmp=j;
L=0,y=0;
while(tmp){
if(tmp%2==1){
y++;
}
else {
L++;
}
tmp/=2;
}
if(y>L){
sum++;
}
}
cout<<sum;
return 0;
}
电子学会 青少年软件编程等级考试 C语言 2 级
电子学会青少年等级考试C语言(二级)
电子学会 C语言 2级 10 、白细胞计数
电子学会 C语言 2级 13 、 矩阵交换行
电子学会 C语言 2级 17 、统计数字字符个数
电子协会 C语言 2级 20 、 合法 C 标识符
电子协会 C语言 2级 60 、整数奇偶排序(2021年 6月真题)
电子协会 C语言 2级 60 、整数奇偶排序(2021年 6月真题)-CSDN博客
小学生C++趣味编程 测试题(33套)
信息学奥赛学习、训练、测试的顺序,思路及方法
信息学奥赛学习、训练、测试的顺序,思路及方法_dllglvzhenfeng的博客-CSDN博客