蓝桥杯:真题讲解3(C++版)附带解析

报纸页数

来自:2016年七届省赛大学C组真题(共8道题)

分析: --画出报纸长的样子,如果我们在上面多画一张报纸,那么就符合题意的5,6,11,12。

观察这张图:观察3,4,9,10这一张报纸,怎么求出这份报纸一共多少页呢?

3+10=13 再用13-1就是这份报纸一共有的页数。

公式:(最小页码+最大页码-1)

代码:

cpp 复制代码
#include <iostream>
using namespace std;
int main()
{
  // 请在此输入您的代码
  cout << 1125+1728-1;
  return 0;
}

等差素数列

来自:2017年八届省赛大学B组真题(共8道题)

分析:

拓展一个知识:

长度为k的素数等差数列,它的公差d能被小于k的所有素数整除。

由上可知,长度为k的素数等差数列的最小公差为小于k的所有素数之积。

10以内的素数为2,3,5,7,所以2*3*5*7=210。

代码:

cpp 复制代码
#include <iostream>
using namespace std;
int main()
{
  // 请在此输入您的代码
  cout << 210;
  return 0;
}

乘积尾零

来自:2018年九届省赛大学B组真题(共8道题)

分析:

乘积出现尾零,肯定是5和偶数相乘得到的,每出现一个10,就应从乘数中可以提出一个2、一个5。所以我们把每个数的都分解成乘积的形式 ,统计出2和5的数量,然后取较小那个。

(可以举100*10的例子来推一下)

代码:

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int main() {
	// 请在此输入您的代码
	int cnt2=0,cnt5=0;   //统计数的,要初始化为0
	int a[100];
	for(int i=0; i<=99; i++) {
		cin >> a[i];
		while(a[i]%2==0) {
			cnt2++;
			a[i]/=2;
		}
		while(a[i]%5==0) {
			cnt5++;
			a[i]/=5;
		}
	}
	cout << min(cnt2,cnt5);
	return 0;
}

次数差

来自:2018年九届省赛大学C组真题(共6道题)

+

代码(分析在注释中):

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int main() {
	// 请在此输入您的代码
	string str;
	cin >> str;
	int arr[26]= {0}; //全部初始化为0
	for(int i=0; i<(int)str.size(); i++) {
		//对于size函数来说,返回一个int或一个unsigned似乎都是合理的。但其实size函数返回的是一个string::size_type类型的值。
		arr[str[i]-'a']++;
	}
	sort(arr,arr+26);
	for(int i=0; i<26; i++) { //为什么要套一个for循环?因为有可能有的球队一次也没赢,题目中写了不关心那些一次也没获胜的。
		//并且我们也是按哪个队获胜,然后放到相应的位置,有的位置根本没有相应的++操作。
		if(arr[i]!=0) {
			cout << arr[25]-arr[i] << endl;
			break;
		}
	}


	return 0;
}

猴子分香蕉

来自:2018年九届省赛大学C组真题(共6道题)

分析:因为是填空题,直接暴力求解即可。

代码:

cpp 复制代码
#include <iostream>
using namespace std;
int main() {
	// 请在此输入您的代码
	for(int i=1; i<=10000; i++) {
		int p=i;
		if(p%5==1) {
			p=p-p/5-1;
			if(p%5==2) {
				p=p-p/5-2;
				if(p%5==3) {
					p=p-p/5-3;
					if(p%5==4) {
						p=p-p/5-4;
						if(p%5==0 && p>0) {   //这一步要加p >0 ,上面不需要加,上面不符合if判断直接跳下一层循环了 
							cout << i;
							return 0;
						}
					}
				}
			}
		}
	}
	return 0;
}
相关推荐
机器人零零壹2 小时前
技术白皮书:iRobotCAM如何解决机器人激光切割应用中的核心难点,从CAD离线编程到双目视觉定位与轨迹自适应提升复杂空间曲线切割的精度、效率与柔性化水平
人工智能·算法
布莱克6053 小时前
C/C++ 中变量的声明与定义:区别、联系与常见误区
c语言·开发语言·c++·声明·定义
LabVIEW开发4 小时前
LabVIEW 局部变量为何引发竞争条件?四种同步机制
开发语言·labview
benchmark_cc4 小时前
A 股、港股、美股如何建立统一的标的主数据格式?
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
ZhengEnCi5 小时前
大模型的分类到底怎么分:从基础模型到推理模型、从通用到专用的完整图谱
算法
Zenova EdgeOS5 小时前
Go 工业边缘错误处理实战:用 errors 构建可追溯错误链
开发语言·数据库·golang
取名真是6 小时前
Python 算法知识点从基础到进阶
开发语言·python·算法
罗西的思考6 小时前
【轻量化复刻大模型 / KIMI K3】KDA 模块交互式演示
人工智能·算法·机器学习
FRing036 小时前
vue2干货总结3(computed计算属性、watch监听器)
开发语言·前端·vue.js·vue2
Fatbobman(东坡肘子)7 小时前
快速消失的硬盘容量 -- 肘子的 Swift 周报 #160
开发语言·人工智能·redis·ios·swiftui·iphone·swift