- 博客(28)
- 收藏
- 关注
原创 python蓝桥杯 k倍区间
给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间。 你能求出数列中总共有多少个K倍区间吗?输入格式 5 2 1 2 3 4 5 程序应该输出: 6首先第一想法肯定是暴力,显然超时。n,k=map(int,input().split())l=[]for i in range(n): l.append(i.
2022-03-31 00:39:31
1347
1
原创 python蓝桥杯 等差数列(省赛)
问题描述 数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一部分的数列,只记得其中 N 个整数。 现在给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有几项?输入格式 输入的第一行包含一个整数 N。 第二行包含 N 个整数 A₁, A₂, · · · , AN。(注意 A₁ ∼ AN 并不一定是按等差数列中的顺序给出)输出格式 输出一个整数表示答案。样例输入52 6 4 10 20样例输出10解题方法比较容易想到:.
2022-03-16 20:34:58
953
2
原创 python蓝桥杯 分解质因数
提示 先筛出所有素数,然后再分解。根据官方给的提示,先筛选出素数,然后再对剩下的数分解。对剩下的数分解的时候,因为最后要输出,所以用一个数组存所有的质因数。def sushu(x): #判断是否为素数 for i in range(2,x): if(x%i!=0 ): pass else: return False if(i*i>x): br...
2022-03-12 11:35:43
1851
1
原创 python蓝桥杯 双向排序
首先想法肯定是暴力sort,代码如下,稍微注意一下数组切片的索引问题(左闭右开):n,m=list(map(int,input().split()))s=[i+1 for i in range(n)]l=[]for i in range(m): tmp=list(map(int,input().split())) l.append(tmp)# print(l)for i in range(m): if(l[i][0]==0): tmp=l[i]...
2022-03-07 22:36:41
1770
2
原创 python蓝桥杯 砝码称重
考虑将砝码放在一个数组,每次新加一个砝码就循环和前面所有数求和、差的绝对值。第一版代码:n=int(input())w=list(map(int,input().split()))res=[]res.append(w[0])for i in range(1,len(w)): res.append(w[i]) for j in range(len(res)-1): #这里-1 是为了不把自己算进去 m1=w[i]+res[j] ...
2022-03-07 20:09:00
798
原创 *python蓝桥杯 杨辉三角(省赛)
一开始的想法:将所有杨辉三角里的数放在一个数组里,用index索引到这个数打印出来它的顺序就ok了于是实现代码:l1=[[1],[1,1]]l=[]for i in range(2,200):#i=2 第三行 1 2 1 l2=[1] for j in range(i-1):#i=2 循环一次 i=3 循环两次 # print(i,j) m=l1[i-1][j]+l1[i-1][j+1] #i=2 j=0 i=3 j=0 1 ..
2022-02-23 00:01:21
1781
1
原创 python蓝桥杯 平面切分
平面上有NN条直线,其中第ii条直线是y = A_i \times x + B_iy=Ai×x+Bi。请计算这些直线将平面分成了几个部分。输入描述第一行包含一个整数NN。以下NN行,每行包含两个整数A_i, B_iAi,Bi。其中,1 \leq N \leq 1000, −10^5 \leq A_i,B_i \leq 10^51≤N≤1000,−105≤Ai,Bi≤105。输出描述一个整数代表答案。示例输入31 12 23 3...
2022-02-22 21:54:29
1099
原创 python蓝桥杯 成绩统计
学习点:①统计列表中某一个元素出现的次数也可以用 count函数,列表.count(元素)②输出百分数的形式 print('{:.0%}'.format( )) .0%表示不保留小数,整数输出小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整 数。输入描述输入的第一行包含一个整数n\ (..
2022-02-20 17:36:19
183
原创 python蓝桥杯 跑步锻炼
小蓝每天都锻炼身体。正常情况下,小蓝每天跑11千米。如果某天是周一或者月初(11日),为了激励自己,小蓝要跑22千米。如果同时是周一或月初,小蓝也是跑22千米。小蓝跑步已经坚持了很长时间,从20002000年11月11日周六(含)到20202020年1010月11日周四(含)。请问这段时间小蓝总共跑步多少千米?运行限制最大运行时间:1s 最大运行内存: 128M首先用excel算了一下,参考【Python】2020年蓝桥杯省赛真题——跑步锻炼_...
2022-02-20 00:00:53
1389
原创 python蓝桥杯 蛇形填数
如下图所示,小明用从11开始的正整数“蛇形”填充无限大的矩阵。1 2 6 7 15 ...3 5 8 14 ...4 9 13 ...10 12 ...11 ......容易看出矩阵第二行第二列中的数是55。请你计算矩阵中第2020行第2020列的数是多少?运行限制最大运行时间:1s 最大运行内存: 128M找规律,1+2+3+...加到的那个数在第一行或者第一列,20行20列是加到39的时候的,所以加到39再减去19(20-1)就可以得到。m=0...
2022-02-19 22:47:27
593
原创 python蓝桥杯 既约分数
如果一个分数的分子和分母的最大公约数是11,这个分数称为既约分数。例如3/4 ,1/8, 7/1 都是既约分数。请问,有多少个既约分数,分子和分母都是1到2020 之间的整数(包括11和20202020)?运行限制最大运行时间:2s 最大运行内存: 128M自己写代码的时候,求两个数的最小公约数是不是1总是报错还因为循环会超时,后来就干脆改了写求两个数的最小公约数,用辗转相除法求两个数的最大公约数。参考python 最大公约数与最小公倍数_l_vip的博客-CS...
2022-02-19 22:29:23
532
原创 python蓝桥杯 门牌制作(count函数)
小蓝要为一条街的住户制作门牌号。这条街一共有20202020位住户,门牌号从11到20202020编号。小蓝制作门牌的方法是先制作00到99这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符1、0、1、71、0、1、7,即需要11个字符00,22个字符11,11个字符77。请问要制作所有的11到20202020号门牌,总共需要多少个字符22?题目很简单,主要是count函数的运用M=[]for i i...
2022-02-19 15:44:32
397
原创 python蓝桥杯训练营一 承压计算
X 星球的高科技实验室中整齐地堆放着某批珍贵金属原料。每块金属原料的外形、尺寸完全一致,但重量不同。 金属材料被严格地堆放成金字塔形。 7 5 8 7 8 8 9 2 7 2 8 1 4 9 1 .
2022-01-25 21:04:42
714
原创 python蓝桥杯训练营一 等差素数列
2,3,5,7,11,13,....是素数序列。 类似:7,37,67,97,127,1577,37,67,97,127,157这样完全由素数组成的等差数列,叫等差素数数列。上边的数列公差为3030,长度为66。20042004年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。 这是数论领域一项惊人的成果!有这一理论为基础,请你借助手中的计算机,满怀信心地搜索:长度为1010的等差素数列,其公差最小值是多少?一开始直接暴力求解,直接跑不出来,参考答案之后,发现...
2022-01-24 19:06:32
268
原创 python蓝桥杯 报时助手
问题描述 给定当前的时间,请用英文的读法将它读出来。 时间用时h和分m表示,在英文的读法中,读一个时间的方法是: 如果m为0,则将时读出来,然后加上“o'clock”,如3:00读作“three o'clock”。 如果m不为0,则将时读出来,然后将分读出来,如5:30读作“five thirty”。 时和分的读法使用的是英文数字的读法,其中0~20读作: 0:zero, 1: one, 2:two, 3:three, 4:four, 5:five, 6:six, 7:sev...
2021-12-26 16:24:22
164
原创 python蓝桥杯 Huffuman树
问题描述 Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。 给出一列数{pi}={p0,p1, …,pn-1},用这列数构造Huffman树的过程如下: 1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中。这个过程的费用记为pa+pb。 2. 重复步骤1,直到{pi}中只剩下一个数。 在上面的操作过程中,把所有的费用相加,就得到了构造Huffman树的总费用。 本题任务...
2021-12-25 10:38:26
122
原创 python蓝桥杯 高精度加法
学习内容:①字符数组转化成数字数组借助map②借助%取余和//整除来达到进位目的。问题描述 输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。 定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。 计算c=a+b的时候,首先将A[0]与B[0]相加,如果有进位产生,则把进位(即和的十位数...
2021-12-25 10:23:46
238
原创 python蓝桥杯 阶乘计算
学习内容:问题描述 输入一个正整数n,输出n!的值。 其中n!=1*2*3*…*n。算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。 将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。 首先将a设为1,然后乘2,乘3,当乘到n时,即得到了n!的值。输入格式 输入包含一个正整数n,n<=1000。输出格式 输
2021-12-24 23:35:18
476
原创 python蓝桥杯 序列求和
学习内容:问题描述求1+2+3+...+n的值。输入格式输入包括一个整数n。输出格式输出一行,包括一个整数,表示1+2+3+...+n的值。样例输入4样例输出10样例输入100样例输出5050数据规模与约定1 <= n <= 1,000,000,000。说明:请注意这里的数据规模。本题直接的想法是直接使用一个循环来累加,然而,当数据规模很大时,这种“暴力”的方法往往会导致超时。此时你需要想想其他方法。你可以试一试,如果
2021-12-22 16:33:41
332
原创 python蓝桥杯 圆的面积
学习内容:四舍五入取指定小数位数 print( ' %.xf ' % num) x是小数位数,num是要取位数的数。问题描述给定圆的半径r,求圆的面积。输入格式输入包含一个整数r,表示圆的半径。输出格式输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。说明:在本题中,输入是一个整数,但是输出是一个实数。对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会
2021-12-21 16:16:34
244
原创 python蓝桥杯 Fibonacci数列
问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。样例输入10样例输出.
2021-12-21 15:08:39
1608
原创 python蓝桥杯 01字串
学习内容:① python数字表示:二进制:添加0b 0b11bin()返回二进制形式的字符串 八进制:添加0 017 oct()返回八进制形式的字符串 十六进制:添加0x hex()返回十六进制形式的字符串②可以切割的只能是str 数字无法切割③切片不存在的位不会自动补0 要补0只能强制补(字符串拼接),然后再切片问...
2021-12-17 20:43:34
908
1
原创 python蓝桥杯 查找整数 数列特征 字母图形
问题描述给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。输入格式第一行包含一个整数n。第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。第三行包含一个整数a,为待查找的数。输出格式如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。样例输入61 9 4 8 3 99样例...
2021-12-16 21:12:07
603
原创 python蓝桥杯 回文数 特殊的数字 杨辉三角
学习内容:①问题描述 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。输出格式 按从小到大的顺序输出满足条件的四位十进制数。比较简单,类似上题,还是注意类型转换的问题。for num in range(1000,10000): num=str(num) if(num==num[::-1]): print(num)...
2021-12-16 18:01:47
352
原创 python蓝桥杯 十六进制转十进制 十进制转十六进制 特殊回文数
问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535代码:n=input()if(len(n)<=8): m=int(n,16) print(m)正的确实有点迷惑性......
2021-12-15 23:08:52
161
原创 Python蓝桥杯 数列排序 十六进制转八进制
问题描述 给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200输入格式 第一行为一个整数n。 第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。输出格式 输出一行,按从小到大的顺序输出排序后的数列。样例输入58 3 6 4 9样例输出3 4 6 8 9n=int(input())if(n>=1 & n<=200): list_1...
2021-12-14 21:48:05
395
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人