蓝桥杯集锦01(python3)

蓝桥杯集锦01(python3)

算法训练 区间k大数查询(python3)

问题描述
给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。

输入格式
第一行包含一个数n,表示序列长度。

第二行包含n个正整数,表示给定的序列。

第三个包含一个正整数m,表示询问个数。

接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。

输出格式
总共输出m行,每行一个数,表示询问的答案。
样例输入
5
1 2 3 4 5
2
1 5 2
2 3 2
样例输出
4
2

n = input()
s = list(map(int, input().split()))
m = int(input())
a = []
for i in range(m):
	a.append(list(map(int,input().split())))
for temp in a:
	l = int(temp[0]) - 1
	r = int(temp[1])
	k = int(temp[2]) - 1
	s1 = sorted(s[l:r], reverse=True)
	print(s1[k])

算法提高 二分法查找数组元素(python3)

问题描述
  用递归函数实现二分法查找数组元素。
  补充:要求给定数组采用如下代码定义
  int data[200];
  for (i=0; i<200; i++)
  data[i]=4i+6;
输入格式
  输入一个待查找的整数(该整数一定在数组data中)。
输出格式
  该整数在数组中的指标。
样例输入
一个满足题目要求的输入范例。
例1:
262
例2:
438
例3:
774
样例输出
与上面的样例输入对应的输出。
例1:
64
例2:
108
例3:
192
数据规模和约定
  输入数据中每一个数的范围。
  输入数据必须满足4
i+6,i=0,1,2,3,…,198,199。

num = int(input())
data = [x*4 + 6 for x in range(200)]
md = 100
left = 0
right = 200
while True:
	md = int((left+right)/2)
	if num == data[md]:
		print(md)
		break
	elif num < data[md]:
		right = md
	else:
		left = md

在这里插入图片描述

在这里插入图片描述

基础练习 回文数(python3)

问题描述
  1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。
输出格式
  按从小到大的顺序输出满足条件的四位十进制数。

思路1:
从1001到9999枚举,寻找符合要求的数字进行输出
思路2:
既然题目求回文,何不自己构建回文呐,四位,只需选取其中两位将其后边添加,使其变成回文。

for i in range(10,100):
	temp = str(i)
	temp = temp+temp[1]+temp[0]
	print(int(temp))

在这里插入图片描述

基础练习 字母图形(python3)

问题描述
利用字母可以组成一些美丽的图形,下面给出了一个例子:

ABCDEFG

BABCDEF

CBABCDE

DCBABCD

EDCBABC

这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。

输入格式
输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。
输出格式
输出n行,每个m个字符,为你的图形。
样例输入
5 7
样例输出
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
数据规模与约定
1 <= n, m <= 26。
正解
在这里插入图片描述

a,b = map(int,input().split())
lst = [chr(x) for x in range(ord('A'),ord('A')+26)]
s = ''.join(lst)
temp = s[0:b]
tem = ''
for i in range(a+1):
    j=1
    tem = temp
    if i !=0:
        while j != i:
            tem = lst[j] + tem
            j = j + 1
        print(tem[0:b])
        tem = ''

在这里插入图片描述

算法训练 猴子吃包子(python3水题)

问题描述
  从前,有一只吃包子很厉害的猴子,它可以吃无数个包子,但是,它吃不同的包子速度也不同;肉包每秒钟吃x个;韭菜包每秒钟吃y个;没有馅的包子每秒钟吃z个;现在有x1个肉包,y1个韭菜包,z1个没有馅的包子;问:猴子吃完这些包子要多久?结果保留p位小数。
输入格式
  输入1行,包含7个整数,分别表示吃不同包子的速度和不同包子的个数和保留的位数。
输出格式
  输出一行,包含1个实数,表示吃完所有包子的时间。

x,y,z,x1,y1,z1,p = map(int,input().split())

time = x1/x + y1/y + z1/z

print(round(time,p))

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100126.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号