A
小明要用二进制来表示 1 到 10000 的所有整数,要求不同的整数用不同的二进制数表示,请问,为了表示 1 到 10000
的所有整数,至少需要多少个二进制位?
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
思路:
暴力解
def change(num, a):
s = []
while num != 0: # 基本数制转换方法
sum = num % a
s.append(sum)
num = num // a
_s = s[::-1]
return ''.join('%d' % i for i in _s)
print(len(change(10000, 2)))
B
问题描述
请问在 1 到 2020 中,有多少个数既是 4 的整数倍,又是 6 的整数倍。
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
思路:
暴力解
a = 0
for i in range(1, 2021):
if i % 4 == 0 and i % 6 == 0:
a += 1
print(a)
C
问题描述
请问有多少个序列满足下面的条件:
1. 序列的长度为 5。
2. 序列中的每个数都是 1 到 10 之间的整数。
3. 序列中后面的数大于等于前面的数。
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
思路:
需要注意5个数字可以重复,用到可重复——combinations_with_replacement
# C
import itertools
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
res = 0
for i in itertools.combinations_with_replacement(list1, 5):
list2 = list(i)
if list2[0] <= list2[1] <= list2[2] <= list2[3] <= list2[4]:
res += 1
print(res)
D
问题描述
一个无向图包含 2020 条边,如果图中没有自环和重边,请问最少包含多少个结点?
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
思路:
公式:一个有n个顶点的无向连通图最多有n(n-1)/2条边,最少有n-1条边。
res, sums= 1, 0
while sums < 2020:
sums += res
res += 1
print(res)
E
两个字母之间的距离定义为它们在字母表中位置的距离。例如 A 和 C 的距离为 2,L 和 Q 的距离为 5。
对于一个字符串,我们称字符串中两两字符之间的距离之和为字符串的内部距离。 例如:ZOO 的内部距离为 22,其中 Z 和 O
的距离为 11。
请问,LANQIAO 的内部距离是多少?
思路:
ascii码的差值
from itertools import combinations
str = 'LANQIAO'
res = 0
for tpl in combinations(str, 2):
res += abs(ord(tpl[0])-ord(tpl[1]))
print(res)
F
问题描述
给定一个平行四边形的底边长度 l 和高度 h,求平行四边形的面积。
输入格式
输入的第一行包含一个整数 l,表示平行四边形的底边长度。
第二行包含一个整数 h,表示平行四边形的高。
输出格式
输出一个整数,表示平行四边形的面积。(提示:底边长度和高都是整数的平行四边形面积为整数)
样例输入
2
7
样例输出
14
数据规模和约定
对于所有评测用例,1 <= l, h <= 100。
送分的
n = int(input().strip())
m = int(input().strip())
print(n*m)
G
问题描述
现在时间是 a 点 b 分,请问 t 分钟后,是几点几分?
输入格式
输入的第一行包含一个整数 a。
第二行包含一个整数 b。
第三行包含一个整数 t。
输出格式
输出第一行包含一个整数,表示结果是几点。
第二行包含一个整数,表示结果是几分。
样例输入
3
20
165
样例输出
6
5
样例输入
3
20
175
样例输出
6
15
数据规模和约定
对于所有评测用例,0 <= a <= 23, 0 <= b <= 59, 0 <= t, t 分钟后还是在当天。
思路:
整一个时钟
a = int(input().strip())
b = int(input().strip())
t = int(input().strip())
hour = t // 60
c = t - hour * 60
if b + c > 60:
hour2 = (b + c) // 60
second = (b + c) % 60
print(a + hour + hour2)
print(second)
else:
print(a + hour)
print(b + c)