自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 抽奖2(信奥)

公司举办年会,为了活跃气氛,设置了摇奖环节。现在,主持人从小到依次公布了n个不同的获奖号码,小谢看着自己抽奖券上的号码win,无比紧张。请编写一个程序,如果小谢获奖了,请输出他中奖的是第几个号码,如果没有中奖,请输出0。第一行一个正整数n,表示有n个获奖号码,n > 2 && n <= 100。一行一个整数,如果小谢中奖了,表示中奖的是第几个号码;如果没有中奖,则为0。第二行包含n个正整数,之间用一个空格隔开,表示依次公布的n个获奖号码。第三行一个正整数win,表示小谢抽奖券上的号码。

2024-12-30 21:50:14 439

原创 抽奖1(信奥)

公司举办年会,为了活跃气氛,设置了摇奖环节。现在,主持人依次公布n个不同的获奖号码,小谢看着自己抽奖券上的号码num,无比紧张。请编写一个程序,如果小谢获奖了,请输出他中的是第几个号码,如果没有中奖,请输出0。一行一个整数,如果小谢中奖了,表示中奖的是第几个号码;如果没有中奖,则为0。第一行一个正整数n,表示n个获奖号码,n > 2 && n<=100。第二行包含n个正整数,之间用一个空格隔开,表示依次公布的n个获奖号码。第三行一个正整数num,表示小谢抽奖券上的号码。【程序运行结果如下】

2024-12-30 21:35:15 348

原创 砝码称重(2021年蓝桥杯)

设状态dp[i][j]表示i个砝码可称出重量j,则状态转移方程为1为dp[i][j]=dp[i-1][j],该方程表示i-1个砝码所能称出的重量i个砝码也能称出来,状态转移方程2为dp[i][j] = dp[i][abs(j-a[i])]dp[i][j] = dp[i-1][a[i]-j],该状态表示j是否能由a[i]减去i-1个砝码所能称出的重量而得。dp[i][j] = dp[i-1][j-a[i]],该状态表示j是否能由i-1个砝码能称出的重量与a[i]相加而得。将当前的dp[i][j]状态设为1.

2024-12-29 21:38:07 680

原创 走方格(蓝桥杯2020年试题H)

设f[i][j]表示走到第i行,第j列时的走法数量,那么走到f[i][j]的方法只有两种,即从上面走过来的或者从左边走过来,故[i][j]的做法是这两种走法之和,即,这些点的编号就像二维数组的编号一样,从上到下依次为第1~n行,从左到右依次为第1~m列,每个点可以用行号和列号表示。设n=5,m=5,则本题的示意图如下图所示,方格中共有4个方格不能走入,其他方格可以通过向下和向右走入。(2)初始状态为f[1][1]=1,即到达f[1][1]一共有1种方法。【注意】如果行号和列数都是偶数,则不能走入这一格。

2024-12-29 20:53:15 823

原创 幸运数(2023蓝桥杯C/C++大学A组)

【问题描述】小蓝认为如果一个数含有偶数个数位,并且前面一半的数位之和等于后面一半的数位之和。则这个数是他的幸运数字。例如2314是一个幸运数字,因为它有4个数位,并且2+3=1+4。现在请帮小蓝计算从1到10000000共有多少个不同的幸运数字。直接暴力检查1~10000000的所有数,运行时间约1分钟,能接受。这种方法没有学过任何算法的初学者也能完成。时间限制 2s 内存限制: 256MB。【程序运行结果如下】

2024-12-23 22:34:57 560

原创 油漆面积(2017年蓝桥杯)

矩形的表示格式为(x1,y1,y1,y2)[其中1,2为下标],代表矩形的两个对角点的坐标。接下来的n行,每行有4个整数x1、y1、x2、y2(数字 1,2为下标),以空格分隔,表示矩形的两个对角点的坐标。本题的题意非常简单,输入若干矩形,求它们覆盖的总面积是多少。这道题的数学模型是“矩形面积并”,解题方案是“扫描线”,编码的正解需要用到线段树,能在紧张的赛场上做出来很难。对所有输入的矩形都是这样处理,统计出所有被覆盖的方格的数量,就是总面积。依次读入n个矩形,累加被覆盖的方格的数量,就是答案。

2024-12-23 22:12:59 1637 2

原创 求和(2022蓝桥杯A组试题C)

题目的描述非常直白。大一刚学编程的同学也能做这道题,直接按题目给的公式算,用两个for循环实现。这称为模拟,就是模拟题目的要求简单、直接地编码。输入:第一行包含一个整数n,第二行包含n个整数a1,a2,……给定n个整数a1,a2,……n为下标),求它们两两相乘再相加的和。输出:输出一个整数S,表示所求的和。下面给出3个代码,分别得到30%、60%、100%的分数。【程序运行结果如下】

2024-12-22 22:08:40 815 1

原创 翻转(蓝桥杯2023大学C组试题E)

如果能翻成一样,就继续翻,如果不能翻成一样,就无解。后面2D行,每行包含一个01串,每两行为一组数据,第2i-1行为第i组数据的Ti(i)为下标,第2i行为第i组数据的Si(i为下标),Si(i为下标)和Ti(i)为下标的长度均为ni(i为下标)。【问题描述】:小蓝用黑白棋的n个棋子排成了一行,他在脑海里想象出了一个长度为n的01串T,他发现如果把黑棋当作1、白棋当做0,这一行棋子是一个长度为n的01串S。输出:对于每组数据,输出一行包含一个整数,表示答案,如果答案不存在,输出----1。

2024-12-22 21:51:37 483

原创 方格分割(蓝桥杯2017年试题D)

通过观察样例图案可以发现,如果把样例图案剪开,则会有且只有两个点在边界上,且一定经过中心点(3,3)。如果以中心点(3,3)为起点进行深搜,每搜索一个点,根据对称关系,再标记其对称点,该题就可以得到解决了。如果搜索点的坐标是(x,y),则根据中心对称,对称点的坐标是(6-x,6-y)。6*6的方格,沿着格子的边线剪开成两部分,要求这两部分的形状完全相同。根据题意,由于旋转对称的图形属于同一种分割方法,因此最后要将得到的结果除以4,以解决四个顶点的对称性。具体的注意点有以下三个。【程序运行结果如下】

2024-12-20 22:05:35 667

原创 完全二叉树的权值(蓝桥杯2019年试题G)

给定一棵包含N个节点的完全二叉树,树上的每个节点都有一个权值,按从上到小、从左到右的顺序依次是A1、A2……An,(1,2,n为下标。现在,小明要把相同深度的节点的权值加到一起,他想知道哪深度的节点权值之和最大。对于所有评测用例, N >= 1 && N <= 100000, Ai(i为下标)>=-100000&&<=100000。(1)每层第一个元素的下标为2^(n-1),最后一个元素的下标是2^n-1。(1,2,n为下标。(2)若元素的节点下标为i,则其所在的层数为log2i。注意:根的深度是1。

2024-12-20 21:31:05 774

原创 包子凑数(2017年蓝桥杯试题H)

当顾客想买11个包子时,大叔就会选两笼3个的和一笼5个的(也可能选一笼3个的和两笼4个的。本题已经说明,如果给定数列的最大公约数不为1,那么就有INF个数凑不成,如果为1,那么只需要考虑前面不能凑成的就可以了(完全背包思想)。本题已知N的最大值为100,即Ai(i为下标)最多为100,那么背包的容量为比10000大一些即可,这里设置成10001。以下N行每行包含一个整数Ai(i为下标)(Ai(i为下标)>=1&& Ai(i为下标)<=100)。对于样例1,凑不出的数目包括1、2、3、6、7、11。

2024-12-17 18:22:00 822

原创 模拟法简介(蓝桥杯)

如果津津不会不高兴,则输出0,如果会,则输出最不高兴的是周几(用1,2,3,4,5,6,7分别表示周一,周二,周三,周四,周五,周六,周日)。模拟法,顾名思义,就是利用计算机模拟问题的求解过程,从而得到问题的解。模拟法一般都不难,但也会考查一些基础算法,例如本题考查了如何在n个数中求最大值,及如何判断津津的不高兴条件。本题的数据一共有7组,不算多,也不算少,可以直接运算,也可以将数据存储到数组后再进行计算。如果采用数组,则可以将数据存储起来,在后续的操作中会更加方便,也更容易理解。采用数组模拟的方法如下。

2024-12-17 17:27:03 915

原创 取数位(蓝桥杯2017年试题E)

毫无疑问,下面要填空的是:如果当前x的数位长度不等于k,该如何处理?举例说明:假如要取数字34567的第3位数字5,而此时经过测量发现数字34567的长度为5,这与要取的3位数不相等,这时需要把数字34567变短再测试,变短的方式是除以10,即34567/10=3456,此时再比较,若发现还长,则继续变短,3456/10=345,345的长度与3相等,则第3位上的数字为5。首先要弄清楚len函数的功能,其功能是求x用十进制表示时的数位长度,然后要弄清楚f函数的功能,其功能是取x的第k位数字。

2024-12-16 22:01:45 527

原创 货物摆放(蓝桥杯2021年试题D)

现在,小蓝有n箱货物要摆放在仓库中,每箱货物都是规则的正方体。小蓝希望所有货物最终摆放成一个大的立方体、即在长、宽、高的方向上分别堆L、W、H的货物,满足n = L * W * H。本题根据题意,要满足n = x * y * z的所有情况,首先想到的就是枚举法,本题可分为以下两步。例如,当n=4时,有以下6种方案: 1*1*4、1*2*2、1*4*1、2*1*2、2*2*1、4*1*1。因为要满足n = x * y * z,因此只需要利用三重循环进行枚举即可,符合条件的累加。(1)找出n的所有因子。

2024-12-16 21:39:36 554

原创 跑步训练(蓝桥杯2020试题A)

初始时,小明体力充沛,体力值计为10000。小明跑步时每分钟损耗600体力值。小明休息时每分钟增加300体力值。(1)体力值大于600时,可以持续1分钟的体力消耗,则模拟损耗600体力值,再增加300体力值,一共经过120秒,循环得到时间。小明打算跑一分钟,休息一分钟,再跑一分钟,再休息一分钟,如此循环。如果某个时刻小明的体力值变为0,他就停止训练。为了使答案为整数,请以秒为单位输出答案。(2)当体力值小于600且不为0时,每秒消耗10体力值,由剩余时间为体力值/10,直到体力值为0。

2024-12-15 22:20:47 589

原创 蓝桥杯数列求值(2019试题C)

但要注意一个问题,那就是由于a[i]到后面会变得过大,从而超过long long所表示的范围,所以数组中只保留计算结果的后4位,这就需要在每次存放数据之前就对数据进行取余运算,只保留数据的后4位。这是一道结果填空题,考生只需要计算出结果并提交即可。本题的结果为一个4位整数(提示:答案的千位不为0),在提交答案时只填写这个整数,填写多余内容将无法得分。给定数列1,1,1,3,5,7,17……从第4项开始,每项都是前3项的和。求第20190324项的最后4位数字。

2024-12-15 21:57:39 630

原创 二维数组中行元素和列元素互换

【分析】对于二维数组行、列互换的问题,实际上是再次定义一个二维数组,新数组的行数是原数组的列数、新数组的行数是原数组的列数,新数组的列数是原数组的行数,然后再使用循环结构根据新、老数组的关系进行处理。

2024-11-24 22:02:56 531

原创 C语言编写程序,实现输入三个字符串,将其按照从小到大的顺序输出

【案例分析】 案例中输入的三个字符串可能会含有空格,为了避免出错,最好使用gets()函数接收字符串,排序时字符串的比较和赋值则可以使用strcmp()和strcpy()函数。

2024-11-24 21:50:50 1257

原创 C语言编写代码实现在教师工资管理系统中输入教师号,且不允许重复

【思路】因为每个教师号的数据类型都相同,所以可以将教师号存入一个数组中。在一个数组中输入数据,不允许重复就实现了题目要求。将当前要输入的数据与在数组中已经存在的元素进行比较,如果相同,则提示重新输入,将重新输入的元素再与数组中已经存在的数组比较,如果相同,则再次输入;如果不同,则允许本次输入。重复此过程就可实现在数组中输入不同元素。

2024-11-20 09:36:53 358

原创 C语言统计一行字符中的英文字母、空格、数字和其他字符的个数

【思路】这是一个关于字符处理的问题,首先可以定义一个字符变量ch,利用getchar()函数把用户从键盘输入的字符逐个接收,存储在ch中,然后对 ch进行判断分类。当读取的字符不是换行符时重复执行循环体,直到遇到换行符为止。while语句的条件表达式可以 写成"ch!

2024-11-20 09:25:39 1249

原创 解码(蓝桥杯2020年试题G)

在这串字母中,有很多字母是连续且重复的。小明想了一个将这串字母表达得更短的办法:将连续的几个相同的字母写成“字母+出现次数”的形式。例如,连续5个a,即aaaaa可以简写成 a5(也可以简写成 a4a、aa3a等)。为了方便表达,小明不会将超过9个连续相同的字母写成简写的形式。现在给出简写后的字符串,请帮助小明将其还原成原来的字符串。(1)若当前元素是字符,且下一个元素是数字,则需要循环输出当前字符,循环输出的次数就是数字的值。对于所有评测用例,字符串均由大小写英文字母和数字组成,长度不超过100。

2024-11-19 16:39:33 425

原创 蓝桥杯:年号字串 (2019年试题B)

该题的 A~Z相当于二十六进制的26个基,因此本题就转换成将2019转成二十六进制数的问题。不过应该注意的是:二十六进制数往往是0~25,不是1~26,采用的转换方法是利用字符数组和下标,如下表所示。小明用字母A对应数字1,字母B对应数字2,以此类推,用字母Z对应数字26。对于27以上的数字,小明用两位或更长位的字符串对应,例如AA对应27,AB对应28,AZ对应52,LQ对应329。请问2019对应的字符串是什么?【程序运行结果如下图】转换采用除基取余法!

2024-11-19 16:00:05 349

原创 C语言中使用函数求两个整数的最大公约数和最小公倍数

最小公倍数:是指两个或多个整数公有的倍数中最小的一个。整数a,b的最小公倍数记为[a,b],同样的,a,b,c的最小公倍数记为[a,b,c],多个整数的最小公倍数也有同样的记号。最大公约数:是指能够同时被两个或多个整数整除的最大的那个整数。例如,对于整数12和30,它们的公约数有1、2、3、6,其中6是最大的,因此6是12和30的最大公约数。u = v (使除数v变为被除数u)v = r (使余数r变为除数v)while(u/v的余数r不等于0)

2024-11-18 20:10:11 895

原创 C语言中使用数组求杨辉三角形

(3)从第3行起,除上面指出的第一个数和最后一个数外,其余各数是上一行同列和前一列两个数之和。例如,第4行第2个(3)是第3行第2个数(2)和第3行第1个数(1)之和。a[i][j] = a[i-1][j] + a[i-1][j-1],其中i为行数,j为列数。(1)各行第一个数都是1。(2)各行最后一个数都是1。

2024-11-18 19:49:22 383

原创 求一维数组中的最大值

2、假设max = array[0],依次用array[i]和max比较(循环)若max < array[i],令max < array[i],令max = array[i];读10个整数存入数组,找出其中最大值。1、使用for循环输入10个整数。3、输出最大值max。

2024-11-12 21:42:13 452

原创 用数组求fibonacci数列的前20项,即:1,1,2,3,5,8,13……

【代码】用数组求fibonacci数列的前20项,即:1,1,2,3,5,8,13……

2024-11-12 21:33:13 404

原创 数组逆序输出

数组逆序

2024-11-12 21:22:17 316

原创 数的分解(蓝桥杯)

对于(2),要想使3个数字不重复,则只需要将这3个数排序,保证排序后的序列是唯一的,即只要满足i < j < 2019-i-j就可以保证序列不重复。对于(1)要满足i +j+k=2019,其实i和j一旦确定,k 的值就已经确定了,所以利用该式,定义的3个变量可以变成i、j、2019-i-j。本题可以枚举3个数字,但是如果3个数字都从1枚举到2019,则程序会变得比较复杂,应主要解决以下两个问题。对于保证数字不包含2和4的问题,可以取出数字的各位,然后判断每位上的数字与2或4是否相等。

2024-11-11 23:02:11 322

原创 输出所有的水仙花数

水仙花数:是指一个3位数,其各位数字立方和等于该数本身。

2024-11-11 22:41:42 344

原创 整除序列(蓝桥杯)

右移运算符(>>)。把操作数的二进制码右移指定位数,左边空出来的位用原来的符号位填充。原来是负数就填充1,原来是正数就填充0,符号位不变。本题直接使用模拟法求解,每次对前一个数做除2运算即可。这里除了除2运算以外,按位运算也可以实现除2运算的效果。有一个序列,序列的第一个数是n,后面的每个数均是前一个数整除2的结果,请输出这个序列中值为正数的所有项。输出一行,包含多个整数,相邻整数之间用一个空格分隔,表示答案。输入一行,包含一个整数n。

2024-11-10 23:21:02 191

原创 第几天(蓝桥杯)

在实际编程过程中,如果涉及较多的年份,则需要编写一个函数以判断闰年,是闰年则二月是29天,否则是28天。本题考查的对闰年判断。那么2024年5月4日是那一年的第几天。2024年1月1日是那一年的第1天。

2024-11-10 17:52:54 295

原创 求一个3 * 3的整型二维数组对角线元素之和。

【代码】求一个3 * 3的整型二维数组对角线元素之和。

2024-11-10 15:13:10 494

原创 筛选法求100之内的素数

各数作为除数去除这些数以后的各数。事实上,可以简化,如果需要找1~n的素数表,只须进行到除除数为。编写程序,可以定义一个数组array,数组元素array[1]~array[n]分别代表1-n这n个数。筛选法(古希腊著名数学家埃拉托色尼提出):在一张纸上写上1-1000的全部整数,然后逐 个判断它们是不是素数,找出一个非素数,就把它挖掉,最后剩下的就是素数。(2)用2去除它后面的各个数,把能把2整除的数挖掉,即把2的倍数挖掉。(2)用下一个未被挖去的数p去除p后面各数,把p的倍数挖掉。

2024-11-10 15:07:03 500

原创 C语言中统计全单位人员的平均工资

* 单位的人数不固定,工资数从键盘先后输入,当输入-1时表示输入结束(前面输入的是有效数据)*/

2024-11-05 21:48:02 561

原创 C语言中使用条件表达式求三个数中的最大值

/如果a>b,则将a放入t中,反之则将b放入t中。//将 a和b中的大数与c进行比较,取最大的赋值给max。printf("3个整数中的最大值max=%d\n",max);请输入3个要比较的整数: 45 67 98。printf("请输入3个要比较的整数:\n");3个整数中的最大值max=98。

2024-11-05 21:35:18 466

原创 C语言中使用if语句求三个数中的最大值

printf("三个数中的最大值max = %d\n",max);printf("请输入a,b,c的值\n");

2024-11-04 21:55:52 361 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除