第一题:
编程实现:
用 1、3、5、8 这几个数字,能组成的互不相同且无重复数字的三位数各是多少? 总其有多少个?
输入:
无
输出:
多行数字,每行一个三位数
组成的三位数的总个数
count = 0
list = [1,3,5,8]
for i in list:
for j in list:
for k in list:
if i != j and i != k and j != k:
print(str(i) + str(j) + str(k))
count += 1
print("总共有" + str(count) + "个可组成的数字")
第二题:
编程实现 :
打印出1~ 1000 之间 包含 3 的数字如果3是连在一起的(如 233 )则在数字前加上&如果这个数字是质数则在数字后加上*
输人
无
输出
按照题意输出的数字 每行一个数字样例输出
例 3,13*,23*,&33,43* 33,43*.....&
def abc(number):
math = True
for i in range(2,number):
if number%i == 0:
math = False
return math
for i in range(1,1001):
if "3" in str(i):
if abc(i) == True and "33" in str(i):
print("&" + str(i) + "*")
if abc(i) == True:
print(str(i) + "*")
else:
print(i)
第三题;
编程实现:
用户在输入时,输入N个数字,每个数字用逗号隔开
要求:
(1)用户输入的数字个数
(2)用户输入的最小的数字
(3)将用户输入的数字按从大到小的顺序排列输出,数字之间以逗号做分割
(4)如果用户输入的数字小于等于26,则找到相应的26个大写的英文字母,字母A对应1,字母Z对应26,将用户输入的数字按照原来顺序转成对应的字母输出。如果输入的数字在1~26之外,则不显示相应字母(例:程序输入124,输出“[bad]”)
输入:
N个数字 2<=15
输出:
输入的数字个数
输入的最小数字
输入的数字按从大到小排序
输入的数字所对应的字母
ls2 = []
ls3 = []
list = []
a = input()
dic = {1: 'A', 2: 'B', 3: 'C', 4: 'D', 5: 'E', 6: 'F', 7: 'G', 8: 'H', 9: 'I', 10: 'J', 11: 'K', 12: 'L', 13: 'M', 14: 'N', 15: 'O', 16: 'P', 17: 'Q', 18: 'R', 19: 'S', 20: 'T', 21: 'U', 22: 'V', 23: 'W', 24: 'X', 25: 'Y', 26: 'Z'}
ls = a.split(",")
print(len(ls))
for i in ls:
j = int(i)
ls2.append(j)
print(min(ls2))
ls2.sort(reverse = True)
print(ls2)
for i in ls:
list.append(int(i))
for i in list:
if i in dic:
ls3.append(dic[i])
else:
ls3.append("[bad]")
break
if "[bad]" not in ls3:
print(ls3)
else:
print("[bad]")
上面是讲解的蓝桥杯算法题,因蓝桥杯注重与算法,所以只写了三道算法题的讲解