导航菜单
首页 >  蓝桥杯c语言b组真题  > 第九届蓝桥杯C/C++ 大学B组省赛题目及答案解析

第九届蓝桥杯C/C++ 大学B组省赛题目及答案解析

目录试题A:第几天试题B:明码试题C:乘积尾零试题D:测试次数试题E:快速排序试题F:递增三元组试题G:螺旋折线试题H:日志统计试题I:全球变暖试题J:乘积最大

试题A:第几天

【问题描述】

2000年的1月1日,是那一年的第1天。那么,2000年的5月4日,是那一年的第几天?注意:需要提交的是一个整数,不要填写任何多余内容

【答案】:125

【代码解析】

经典的日期题,难度较小,可直接口算。

31+29+31+30+4=125 试题B:明码

【问题描述】

在这里插入图片描述

4 0 4 0 4 0 4 32 -1 -16 4 32 4 32 4 32 4 32 4 32 8 32 8 32 16 34 16 34 32 30 -64 016 64 16 64 34 68 127 126 66 -124 67 4 66 4 66 -124 126 100 66 36 66 4 66 4 66 4 126 4 66 40 0 164 0 4 0 4 0 4 32 -1 -16 4 32 4 32 4 32 4 32 4 32 8 32 8 32 16 34 16 34 32 30 -64 00 -128 64 -128 48 -128 17 8 1 -4 2 8 8 80 16 64 32 64 -32 64 32 -96 32 -96 33 16 34 8 36 14 40 44 0 3 0 1 0 0 4 -1 -2 4 0 4 16 7 -8 4 16 4 16 4 16 8 16 8 16 16 16 32 -96 64 6416 64 20 72 62 -4 73 32 5 16 1 0 63 -8 1 0 -1 -2 0 64 0 80 63 -8 8 64 4 64 1 64 0 -1280 16 63 -8 1 0 1 0 1 0 1 4 -1 -2 1 0 1 0 1 0 1 0 1 0 1 0 1 0 5 0 2 02 0 2 0 7 -16 8 32 24 64 37 -128 2 -128 12 -128 113 -4 2 8 12 16 18 32 33 -64 1 0 14 0 112 01 0 1 0 1 0 9 32 9 16 17 12 17 4 33 16 65 16 1 32 1 64 0 -128 1 0 2 0 12 0 112 00 0 0 0 7 -16 24 24 48 12 56 12 0 56 0 -32 0 -64 0 -128 0 0 0 0 1 -128 3 -64 1 -128 0 0

【答案】:387420489

【代码解析】

感觉这个题在考基本功,想做出这个题就必须知道负数的二进制表示方法,是以补码的形式表示。下面是我写的比较繁冗的常规写法,除此之外还可利用bitset头文件去快速得到答案。在看出字符后,简单写一个pow函数即可。

#include#includeusing namespace std;inline void circulate(int n){int str[8]={0};int k=abs(n);int i=7;while(k){int m=k%2;str[i--]=m;k/=2;}if(n>=0){for(int j=0;j

相关推荐: