蓝桥杯冲刺

news2025/4/8 11:54:22

例题1:握手问题

在这里插入图片描述

方法1:数学推理(简单粗暴)

在这里插入图片描述

方法2:用代码实现方法1

#include<iostream>
using namespace std;
int main()
{
	int result = 0;
	for (int i = 1; i <= 49; i++)
	{
		for (int j = i + 1; j <= 50; j++)
		{
			//第i个人与第j个人之间的握手总次数(不考虑这7个人之间互不握手)
			result++;
		}
	}
	//这7个人之间握手的次数是21次
	 cout << result - 21;
	return 0;
}

方法3:直接计算握手的总次数

#include<iostream>
using namespace std;
int main()
{
	int arr[51] = { 0 };
	for (int i = 1; i <= 7; i++)
		arr[i] = 1;//假设前7个人之间互不握手,在数组中用1做标记
	int result = 0;
	for (int i = 1; i <= 49; i++)
	{
		for (int j = i + 1; j <= 50; j++)
		{
			//第i个人与第j个人握手
			if (!(arr[i] == 1 && arr[j] == 1))
				result++;
		}
	}
	cout << result;
	return 0;
}

例题2:好数(两种方法)

在这里插入图片描述

方法1:从最低位开始,逐位判断每一位是否满足好数的条件

#include <iostream>
using namespace std;
bool hN(int x)
{
    int t = 1;//此时t表示最低位 
    while (x != 0)
    {
        if (t % 2 == 1)//若奇数位上的数是偶数,则该数不是好数 
        {
            if ((x % 10) % 2 == 0)
                return false;
        }
        else//若偶数位上的数是奇数,则该数不是好数 
        {
            if ((x % 10) % 2 == 1)
                return false;
        }
        x /= 10;
        t++;
    }
    return true;
}

int main()
{
    int N = 0;
    cin >> N;
    int sum = 0;
    for (int i = 1; i <= N; i++)
    {
        if (hN(i) == true)
            sum++;
    }
    cout << sum;
    return 0;
}

方法2:分别得到奇数位与偶数位,然后判断是否满足好数的条件

#include <iostream>
using namespace std;
bool hNum(int x)
{
    int temp=x/10;
    while(x)//判断奇数位上的数是否是偶数
    {
       if((x%10)%2==0)
         return false;
        x/=100;
    }
    while(temp)//判断偶数位上的数是否是奇数
    {
      if((temp%10)%2==1)
         return false;
        temp/=100;
    }
    return true;
}

int main()
{
  int N=0,count=0;
  cin>>N;
  for(int i=1;i<=N;i++)
  {
    if(hNum(i))
     count++;
  }
  cout<<count;
  return 0;
}

例题3:牛数问题(一种正确解法和一种看起来正确的解法)

第一年的时候,有一头母牛,它从第二年开始,每年年初生一头小母牛,每头小母牛从第4个年头开始,也生一头小母牛,请问第n年的时候,有多少头牛?(n>0&&n<55)

方法1(看起来正确):数学推理法

在这里插入图片描述
n>3时的公式是根据n=4~7的数据推导的,也就是说当n<=7时满足公式,其余情况下就不满足了,例如当n=8时,公式得出的结果是18,但正确结果是19(我只能说太坑了)

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
unsigned int sum(unsigned int n)
{
	if (n <= 3)
		return n;
	else
		return (pow(n, 2) - 5 * n) / 2 + 6;
}

int main()
{
	unsigned int n = 0;
	printf("请输入年份\n");
	scanf("%u", &n);
	unsigned int count = sum(n);
	printf("第%u年有%u头牛", n, count);
	return 0;
}

方法2(正确解法)

#include<iostream> 
using namespace std;
/*
经分析可知,一共有四种牛,分别用a、b1、b2、b3表示这四种牛的数量 
a:母牛的数量
b1:1岁的小母牛的数量
b2:2岁的小母牛的数量
b3:3岁的小母牛的数量
*/

int main()
{
	int num[55];//num[1]~num[54]存储第1~54年牛的数量 
	int a=1,b1=0,b2=0,b3=0;//第一年四种牛的数目 
	num[1]=1;
	for(int i=2;i<55;i++) 
	{
		a = a + b3;//第i年的母牛数 = 第i-1年的(母牛数 + 3岁的小母牛数 )
		//for循环用于求第i年的牛数
		num[i] = num[i-1] + a; //第i年的牛数 = 第i-1年的牛数 + 第i年年初母牛生的小母牛的数量
		b3 = b2;//第i年的3岁小母牛数 =  第i-1年的2岁小母牛数
		b2 = b1;//第i年的2岁小母牛数 =  第i-1年的1岁小母牛数/	
		b1 = a; //第i年的1岁小母牛数 =  第i年的母牛数 
	}
      int n;
      cout<<"请输入年份\n" ;
      cin>>n;
	  cout<<num[n];
	return 0;
}

例题3:蛇形上三角

在这里插入图片描述

思路

创建一个100行100列的数组,存储100行的蛇形上三角,再根据输入n的值,打印对应的蛇形上三角

#include<iostream>
using namespace std;
int main()
{
	int arr[100][100]={1};
	/*
5行的蛇形上三角 
	 0 1 2  3  4 
0	 1 3 6 10 15
1    2 5 9 14
2    4 8 13
3    7 12
4    11
	*/
	int temp=1;
	for(int i=1;i<100;i++)
    {
     	 arr[i][0]=arr[i-1][0]+temp;
     	 temp++;
	}
	temp=2;
    for(int i=0;i<100;i++)
	{
	  int m=temp;
	  for(int j=1;j<100;j++)
	  {
	  	arr[i][j]=arr[i][j-1]+temp;
	  	temp++;
	  }	
	  temp=m+1;
    }
	int n;
	cin>>n;
	//如何根据根据输入n的值,打印对应的蛇形上三角 
	for(int i=0;i<n;i++)
	 {
	 	for(int j=0;j<n-i;j++)
	 	{
	 		/*
	 		第1行(i=0)打印n个元素,j从0到n-1,即j<n
	 		第2行(i=1)打印n-1个元素,j从0到n-2,即j<n-1
	 		第3行(i=2)打印n-2个元素,j从0到n-3,即j<n-2
	 		......
	 		第n行(i=n-1)打印1个元素,j=0,即j<1 
	 		因此j<n-i 
	 		*/
	 		
	 		cout<<arr[i][j]<<" ";
		}
		cout<<endl;
	 }
	return 0;
}

再提供一种输出蛇形上三角的方法

	int n;
	cin>>n;
	//如何根据根据输入n的值,打印对应的蛇形上三角 
	int a=n; 
	for(int i=0;i<n;i++)
	 {
	 	for(int j=0;j<a;j++)
	 	{
	 		cout<<arr[i][j]<<" ";
		}
		cout<<endl;
		a--;
	 }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2328163.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Security(maven项目) 3.1.0

前言&#xff1a; 通过实践而发现真理&#xff0c;又通过实践而证实真理和发展真理。从感性认识而能动地发展到理性认识&#xff0c;又从理性认识而能动地指导革命实践&#xff0c;改造主观世界和客观世界。实践、认识、再实践、再认识&#xff0c;这种形式&#xff0c;循环往…

C# 从代码创建选型卡+表格

private int tabNum 1; private int sensorNum 5; private void InitializeUI() {// 创建右侧容器面板Panel rightPanel new Panel{Dock DockStyle.Right,Width 300,BackColor SystemColors.ControlDark,Parent this};// 根据防区数量创建内容if (tabNum &g…

OpenCV 从入门到精通(day_02)

1. 边缘填充 为什么要填充边缘呢&#xff1f;我们以下图为例&#xff1a; 可以看到&#xff0c;左图在逆时针旋转45度之后原图的四个顶点在右图中已经看不到了&#xff0c;同时&#xff0c;右图的四个顶点区域其实是什么都没有的&#xff0c;因此我们需要对空出来的区域进行一个…

Ceph异地数据同步之-RBD异地同步复制(上)

#作者&#xff1a;闫乾苓 文章目录 前言基于快照的模式&#xff08;Snapshot-based Mode&#xff09;工作原理单向同步配置步骤单向同步复制测试双向同步配置步骤双向同步复制测试 前言 Ceph的RBD&#xff08;RADOS Block Device&#xff09;支持在两个Ceph集群之间进行异步镜…

【C++】STL库_stack_queue 的模拟实现

栈&#xff08;Stack&#xff09;、队列&#xff08;Queue&#xff09;是C STL中的经典容器适配器 容器适配器特性 不是独立容器&#xff0c;依赖底层容器&#xff08;deque/vector/list&#xff09;通过限制基础容器接口实现特定访问模式不支持迭代器操作&#xff08;无法遍历…

一周学会Pandas2 Python数据处理与分析-编写Pandas2 HelloWord项目

锋哥原创的Pandas2 Python数据处理与分析 视频教程&#xff1a; 2025版 Pandas2 Python数据处理与分析 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 我们首先准备一个excel文件&#xff0c;用来演示pandas操作数据集(数据的集合)。excel文件属于数据集的一种&#xf…

【易订货-注册/登录安全分析报告】

前言 由于网站注册入口容易被机器执行自动化程序攻击&#xff0c;存在如下风险&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露&#xff0c;不符合国家等级保护的要求。短信盗刷带来的拒绝服务风险 &#xff0c;造成用户无法登陆、注册&#xff0c;大量收到垃圾短信的…

如何在Windows上找到Python安装路径?两种方法快速定位

原文&#xff1a;如何在Windows上找到Python安装路径&#xff1f;两种方法快速定位 | w3cschool笔记 在 Windows 系统上找到 Python 的安装路径对于设置环境变量或排查问题非常重要。本文将介绍两种方法&#xff0c;帮助你找到 Python 的安装路径&#xff1a;一种是通过命令提…

lvgl避坑记录

一、log调试 #if LV_USE_LOG && LV_LOG_LEVEL > LV_LOG_LEVEL_INFOswitch(src_type) {case LV_IMG_SRC_FILE:LV_LOG_TRACE("lv_img_set_src: LV_IMG_SRC_FILE type found");break;case LV_IMG_SRC_VARIABLE:LV_LOG_TRACE("lv_img_set_src: LV_IMG_S…

element-plus中,表单校验的使用

目录 一.案例1&#xff1a;给下面的表单添加校验 1.目的要求 2.步骤 ①给需要校验的el-form-item项&#xff0c;添加prop属性 ②定义一个表单校验对象&#xff0c;里面存放了每一个prop的检验规则 ③给el-form组件&#xff0c;添加:rules属性 ④给el-form组件&#xff0…

PyTorch复现线性模型

【前言】 本专题为PyTorch专栏。从本专题开始&#xff0c;我将通过使用PyTorch编写基础神经网络&#xff0c;带领大家学习PyTorch。并顺便带领大家复习以下深度学习的知识。希望大家通过本专栏学习&#xff0c;更进一步了解人更智能这个领域。 材料来源&#xff1a;2.线性模型_…

Kafka+Zookeeper从docker部署到spring boot使用完整教程

文章目录 一、Kafka1.Kafka核心介绍&#xff1a;​核心架构​核心特性​典型应用 2.Kafka对 ZooKeeper 的依赖&#xff1a;3.去 ZooKeeper 的演进之路&#xff1a;注&#xff1a;&#xff08;本文采用ZooKeeper3.8 Kafka2.8.1&#xff09; 二、Zookeeper1.核心架构与特性2.典型…

RK3568驱动 SPI主/从 配置

一、SPI 控制器基础配置(先说主的配置&#xff0c;后面说从的配置) RK3568 集成高性能 SPI 控制器&#xff0c;支持主从双模式&#xff0c;最高传输速率 50MHz。设备树配置文件路径通常为K3568/rk356x_linux_release_v1.3.1_20221120/kernel/arch/arm64/boot/dts/rockchip。 …

【全队项目】智能学术海报生成系统PosterGenius--风格个性化调整

​ &#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#x1f3c0;大模型实战训练营 ​&#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 1.前言 PosterGenius致力于开发一套依托DeepSeek…

【系统移植】(六)第三方驱动移植

【系统移植】&#xff08;六&#xff09;第三方驱动移植 文章目录 【系统移植】&#xff08;六&#xff09;第三方驱动移植1.编译驱动进内核方法一&#xff1a;编译makefile方法二&#xff1a;编译kconfig方法三&#xff1a;编译成模块 2.字符设备框架 编译驱动进内核a. 选择驱…

STM32实现一个简单电灯

新建工程的步骤 建立工程文件夹&#xff0c;Keil中新建工程&#xff0c;选择型号工程文件夹里建立Start、Library、User等文件夹&#xff0c;复制固件库里面的文件到工程文件夹工程里对应建立Start、Library、User等同名称的分组&#xff0c;然后将文件夹内的文件添加到工程分组…

【shiro】shiro反序列化漏洞综合利用工具v2.2(下载、安装、使用)

1 工具下载 shiro反序列化漏洞综合利用工具v2.2下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1kvQEMrMP-PZ4K1eGwAP0_Q?pwdzbgp 提取码&#xff1a;zbgp其他工具下载&#xff1a; 除了该工具之外&#xff0c;github上还有其他大佬贡献的各种工具&#xff0c;有…

vue进度条组件

<div class"global-mask" v-if"isProgress"><div class"contentBox"><div class"progresstitie">数据加载中请稍后</div><el-progress class"progressStyle" :color"customColor" tex…

CSRF跨站请求伪造——入门篇【DVWA靶场low级别writeup】

CSRF跨站请求伪造——入门篇 0. 前言1. 什么是CSRF2. 一次完整的CSRF攻击 0. 前言 本文将带你实现一次完整的CSRF攻击&#xff0c;内容较为基础。需要你掌握的基础知识有&#xff1a; 了解cookie&#xff1b;已经安装了DVWA的靶场环境&#xff08;本地的或云的&#xff09;&am…

Qt基础:主界面窗口类QMainWindow

QMainWindow 1. QMainWindow1.1 菜单栏添加菜单项菜单项信号槽 1.2 工具栏添加工具按钮工具栏的属性设置 1.3 状态栏1.4 停靠窗口&#xff08;Dock widget&#xff09; 1. QMainWindow QMainWindow是标准基础窗口中结构最复杂的窗口, 其组成如下: 提供了菜单栏, 工具栏, 状态…