蓝桥杯集训

day01

此题选自力扣《两数之和》,原题是会给定数组的,但是我出题的时候没有考虑,所以需要手动获取数组

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
"""
@describe:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。
@author:Liu Xiaohu
@date:2021/03/30
"""


def ans():
arr = input('请输入一个整数数组(其元素用逗号分隔):')
nums = arr.split(',')
target = int(input('请输入目标值:'))
for i in range(len(nums)):
for j in range(i+1, len(nums)):
if(target == int(nums[i])+int(nums[j])):
print(f'该两数的数组下标为{i}{j}')
return i, j


if __name__ == '__main__':
ans()

此题需要考虑所有的字符长度,善用取余取整即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# -*-coding:utf-8-*-

"""
@describe:求回文数
@author:Liu Xiaohu
@date:2021/03/30
"""


def asn(string):
# 判断字符长度
n = len(string)
num = int(string)
target = 0
for it in range(1, n+1):
if it == n:
target += num//(10**(n-1))
elif it == 1:
target += num % 10*(10**(n-1))
else:
target += num % (10**(it))//(10**(it-1))*(10**(n-it))
if(target == num):
print(f'{num}是回文数')
else:
print(f'{num}不是回文数')


if __name__ == '__main__':
try:
string = input('请输入数值:')
asn(string)
except ValueError:
print('输入有误!')

所有的递归皆可使用循环代替,递归每次调用函数时会生成新的栈,使用不当容易导致内存溢出,所以此处采用循环 的方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# -*-coding:utf-8-*-

"""
@describe:求斐波拉契数列
@author:Liu Xiaohu
@date:2021/03/30
"""


def ans():
f = [1, 1]
for i in range(2, 20):
f += [f[i - 1] + f[i - 2]]
for val in f:
print(val, end=' ')


if __name__ == '__main__':
ans()

鸡的总数和钱的总数都需要为100

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# -*-coding:utf-8-*-

"""
@describe:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
@author:Liu Xiaohu
@date:2021/03/30
"""


def asn():
for gong in range(1, int(100/5)+1):
for mu in range(100//3):
zi = 100-gong-mu
if gong*5+mu*3+zi/3 == 100 and gong+mu+zi == 100:
print(f'公鸡的数量为:{gong},母鸡的数量为:{mu},小鸡的数量为:{zi}')


if __name__ == '__main__':
asn()

取余取整提取百位十位个位即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# -*-coding:utf-8-*-

"""
@describe:求出水仙花数
@author:Liu Xiaohu
@date:2021/03/30
"""


def asn():
for it in range(100, 1000):
if (it//100)**3+(it % 100//10)**3+(it % 10)**3 == it:
print(f'{it}是水仙花数')


if __name__ == '__main__':
asn()

day02

1.

问题描述

给定一个年份,判断这一年是不是闰年。

当以下情况之一满足时,这一年是闰年:

年份是4的倍数而不是100的倍数;

年份是400的倍数。

其他的年份都不是闰年。

输入格式

输入包含一个整数y,表示当前的年份。

输出格式

输出一行,如果给定的年份是闰年,则输出yes,否则输出no。

1
2
3
4
5
6
7
8
9
10
def is_leap_year(year):
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
return True
return False
year = int(input())

if is_leap_year(year):
print('yes')
else:
print('no')

2.

FJ字符串

问题描述

  FJ在沙盘上写了这样一些字符串:

  A1 = “A”

  A2 = “ABA”

  A3 = “ABACABA”

  A4 = “ABACABADABACABA”

  … …

  你能找出其中的规律并写所有的数列AN吗?

输入格式

  仅有一个数:N ≤ 26。

输出格式

  请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。

样例输入

3

样例输出

ABACABA

1
2
3
4
5
n = int(input())
str_n = ''
for i in range(n):
str_n = str_n + chr(ord('A') + i) + str_n
print(str_n)

3.

时间转换

问题描述

  给定一个以秒为单位的时间t,要求用H:M:S的格式来表示这个时间。H表示时间,M表示分钟,而S表示秒,

它们都是整数且没有前导的“0”。例如,若t=0,则应输出是“0:0:0”;若t=3661,则输出“1:1:1”。

输入格式

  输入只有一行,是一个整数t(0<=t<=86399)。

输出格式

  输出只有一行,是以“H:M:S”的格式所表示的时间,不包括引号。

样例输入

0

样例输出

0:0:0

样例输入

5436

样例输出

1:30:36

1
2
3
4
5
n = int(input())
h = int(n / 3600)
m = int((n - h * 3600) / 60)
s = int(n - h * 3600 - m * 60)
print(h, ':', m, ':', s, sep='')

4.

标题:分数

1/1 + 1/2 + 1/4 + 1/8 + 1/16 + …

每项是前一项的一半,如果一共有20项,

求这个和是多少,结果用分数表示出来。

类似:

3/2

当然,这只是加了前2项而已。分子分母要求互质。

注意:

需要提交的是已经约分过的分数,中间任何位置不能含有空格。

请不要填写任何多余的文字或符号

1
2
3
4
5
6
7
8
9
10
11
def gcd(a, b):
while b != 0:
c = a % b
a = b
b = c
return a
molecule = 0
for i in range(20):
molecule += 2 ** i
gc = gcd(molecule, 2 ** 19)
print(molecule // gc,'/',2 ** 19 // gc, sep='')

5.

cRe2n0.png

1
2
3
4
5
6
7
8
9
10
11
12
n = int(input())
s = 0
for i in range(1, n + 1):
a = i
while a != 0:
temp = a % 10
a = int(a / 10)
if temp in [2, 0, 1, 9]:
s += i
flag = True
break
print(s)
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2021 John Doe
  • Visitors: | Views:

请我喝瓶快乐水吧~