第十一届蓝桥杯省赛真题(C/C++大学B组)

试题A :门牌制作

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

const int N = 100000;
int arr[N];

int main()
{
	int ans = 0,t;
	for(int i = 1;i <= 2020;i++)
	{
		t = i;
		while(t > 0)
		{
			if(t % 10 == 2) ans++;
			t /= 10;
		}
	}
	cout<<ans<<endl;
	
	return 0;
}

试题B :既约分数

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

int gcd(int a,int b)
{
	if(a % b == 0) return b;
	return gcd(b,a % b);
}

int main()
{
	int ans = 0;
	for(int i = 1;i <= 2020;i++)
	{
		for(int j = 1;j <= 2020;j++)
		{
			if(gcd(i,j) == 1) ans++;
		}
	}
	cout<<ans<<endl;
	
	return 0;
}

试题C :蛇形填数

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

int arr[100][100];

int main()
{
	int sum = 1; 
	for(int i = 0;i < 50;i++)
	{
		//奇数,行-,列+ 
		if(i % 2 == 1)
		{
			for(int x=i,y=1;x >= 0 && y <= i;x--,y++)
				arr[x][y] = sum++;
		}
		//偶数,行+,列-
		else
		{
			for(int x=1,y=i;x <= i && y >= 0;x++,y--)
				arr[x][y] = sum++;
		} 
	}
	cout<<arr[20][20]<<endl;
	return 0;
}
相关推荐
沐怡旸1 小时前
【底层机制】std::unique_ptr 解决的痛点?是什么?如何实现?怎么正确使用?
c++·面试
感哥2 小时前
C++ 内存管理
c++
博笙困了8 小时前
AcWing学习——双指针算法
c++·算法
感哥8 小时前
C++ 指针和引用
c++
感哥19 小时前
C++ 多态
c++
沐怡旸1 天前
【底层机制】std::string 解决的痛点?是什么?怎么实现的?怎么正确用?
c++·面试
River4161 天前
Javer 学 c++(十三):引用篇
c++·后端
感哥1 天前
C++ std::set
c++
侃侃_天下1 天前
最终的信号类
开发语言·c++·算法
博笙困了1 天前
AcWing学习——差分
c++·算法