蓝桥等考C++组别
十五
级
第一部分:选择题
1、C++ L
15
(15分)
在二进制下,1101001 +( )= 1110110。
1011
1101
1010
1111
正确答案:B
2、C++ L
15
(15分)
十进制数59转换成二进制数是( )。
111101
111011
110101
111111
正确答案:
B
3、C++ L
15
(20分)
十进制算术表达式:5 * 64 + 2 * 8 + 1的运算结果,用二进制表示为( )。
011010001
110100011
101010001
110100101
正确答案:
C
第二部分:编程题
4、C++ L
15
二进制
数
中“
1
”的个数(20分)
题目名称:
二进制
数
中“
1
”的个数
题目描述:
输入
一
个
只含0、1的8位字符串,第一个字符可以是0,代表一个二进制数。输出这个二进制数中“1”的个数。
输入:
一个
只含0、1的字符串,长度为8。
输出:
一个整数,为这个二进制数中“1”的个数。
输入样例:
0010
11
10
输出样例:
4
参考程序:
#include <iostream>
using namespace std;
char s[10];
int ans = 0;
int main()
{
cin >> s;
for(int i = 0; s[i]; i++)
{
if(s[i] == '1')
ans++;
}
cout << ans;
return 0;
}
测试数据:
1.in
00101110
1.out
4
2.in
01101001
2.out
4
3.in
11100100
3.out
4
4.in
00011111
4.out
5
5.in
10010000
5.out
2
5、C++ L
15
熊猫币
(30分)
题目名称:
熊猫币
题目描述:
熊猫币是熊猫
王国的法定货币。
熊猫
币面值有1元
、
7元
、
7
2
元
、
7
3
元共
4
种
。如下图所示,
7
2
=49元
,
7
3
=343元。
熊猫咪咪
想用现金
支付
m元的
竹笋
,假设各种
熊猫
币的数量无限
,
不允许找零
。
请问要
正好支付
m元,
至少要多少
个熊猫
币。
例如:m=51时,咪咪用7
2
元(49元)的熊猫币1个,1元的熊猫币2个。需要3个熊猫币。
输入:
一个
正整数m(m<1000),表示咪咪要支付的金额。
输出:
一个整数,为正好支付
m元,
至少需要的
熊猫
币的数量。
输入样例
1
:
51
输出样例
1
:
3
输入样例
2
:
6
输出样例
2
:
6
参考程序:
#include<iostream>
using namespace std;
const int N = 100;
int n7[N + 1];
int n, pos = 0, sum=0;
int fun(int x){ //将x转换成7进制,再求各位和
for (int i = x; i > 0; i /= 7)
{
n7[pos++] = i % 7;
}
for (int i = pos - 1; i >= 0; i--)
{
sum+=n7[i];
}
return sum;
}
int main()
{
cin >> n;
cout << fun(n);
return 0;
}
测试数据:
1.in
51
1.out
3
2.in
6
2.out
6
3.in
343
3.out
1
4.in
478
4.out
10
5.in
999
5.out
15
蓝桥杯青少组C++组别15级编程练习真题(第3套,共6套)