蓝桥杯 2020 基础练习python

    技术2025-09-26  62

    1. 数列排序

    n = eval(input()) l = list(map(int,input().split())) l.sort() for i in range(n): print("{}".format(l[i]),end=' ')

    2.十六进制转八进制

    n = eval(input()) for i in range(n): s = input() s = "0x"+s t = eval(s) print("{:o}".format(t))

    3.十六进制转十进制

    n = input() s = "0x"+n print(int(s,16))

    4.十进制转十六进制

    n = eval(input()) print("{:X}".format(n))

    5.特殊回文数

    n = eval(input()) for g in range(10): for s in range(10): for b in range(10): for q in range(10): for w in range(10): if g==w and s==q and g+s+b+w+q==n: print(g+s*10+b*100+q*1000+w*10000) for g in range(10): for s in range(10): for b in range(10): for q in range(10): for w in range(10): for sw in range(1,10): if g==sw and s==w and b==q and g+s+b+w+q+sw==n: print(g+s*10+b*100+q*1000+w*10000+sw*100000)

    6.回文数

    for g in range(10): for s in range(10): for b in range(10): for q in range(10): if g==q and s==b and g+s*10+b*100+q*1000>=1000: print(g+s*10+b*100+q*1000)

    7.特殊的数字

    for b in range(10): for g in range(10): for s in range(10): if g+s*10+b*100==g**3+s**3+b**3 and g+s*10+b*100>=100: print(g+s*10+b*100)

    8.杨辉三角

    1 1 1 1 2 1 1 3 3 1

    思路 :创建n*n的一个列表,列表的每一个位等于0 eg: l[2][1] = l[1][1]+l[1][0]

    n = eval(input()) l = [[0 for i in range (n)] for i in range (n)] l[0][0]=1 for i in range(1,n): for j in range(n): if j !=0: l[i][j]=l[i-1][j-1]+l[i-1][j] else: l[i][j]=1 for i in range(n): for j in range(n): if l[i][j] !=0: print(l[i][j],end =' ') print()

    9.查找整数

    n = eval(input()) l = list(map(int,input().split())) s = eval(input()) count = 0 for i in range (n): if l[i]==s: print(i+1) break else: print(-1)

    10.数列特征

    n = eval(input()) l = list(map(int,input().split())) print(max(l)) print(min(l)) print(sum(l))

    11.字母图形

    利用数组下标 和 绝对值

    #n = eval(input()) #A的ascll码等于65 n,m = map(eval,input().split()) l = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'] for i in range(n): for j in range(m): s = abs(j-i) print(l[s],end = '') print()

    12.01字串

    #print(int(0b11111)) 31 for i in range(32): print("{:0>5b}".format(i))

    13.闰年判断

    n = eval(input()) if n%4==0 and n%100!=0 or n%400==0: print("yes") else: print("no")

    14.阶乘计算

    n=eval(input()) c=1 for i in range(1,n): c+=c*i print(c)

    15.高精度加法

    a=eval(input()) b=eval(input()) print(a+b)

    16.Huffuman树

    n=eval(input()) h=list(map(int,input().split())) fy=0 count=0 while len(h)!=1: min1=min(h) h.remove(min1) min2=min(h) h.remove(min2) fy=min1+min2 count+=fy h.append(fy) print(count)

    17.2n皇后问题

    18.报时助手

    h,m= map(int,input().split()) l = ["zero","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen","twenty"] ll = [0,"ten","twenty","thirty","forty","fifty"] if h<=20: h=l[h]+" " else: g = h%10 s =h//10 g = l[g]+" " s = ll[s]+" " h=s+g if m==0: m="o'clock" elif m<20: m = l[m] elif m%10==0: m=ll[m/10] elif m%10!=0: g = m%10 s =m//10 g = l[g] s = ll[s]+" " m=s+g print(h+m)

    19.回环取数

    20.龟兔赛跑预测

    v1,v2,t,s,l = map(int,input().split()) time = int(l/v2) R_l = 0 T_l = 0 count = 0 for i in range(time): R_l += v1 T_l += v2 if R_l >= l: break if R_l - T_l >= t: R_l = R_l -(s*v1) count += s R_time = int((l/v1)+count) if R_l > T_l : print("R") print(R_time) elif R_l < T_l : print("T") print(time) elif R_l == T_l: print("D") print(time)

    21.芯片测试

    22.FJ的字符串

    n=eval(input()) s=65 ret='' tmp='' for i in range (n): ret=(tmp+chr(s)+tmp) tmp=(tmp+chr(s)+tmp) s+=1 print(ret)

    24 25 26 27.矩阵乘法

    def matrix_multiplication(x,y): n = len(x) temp = [[0 for i in range(a)]for j in range(a)] for i in range(n): for j in range(n): for k in range(n): temp[i][j] += x[i][k]*y[k][j] return temp a,m = map(int,input().split()) #a表示几维矩阵 m表示矩阵乘几次 res = [[0 for i in range(a)]for j in range(a)] l=[] for i in range(a): s= list(map(int,input().split())) l.append(s) if (m == 0): for i in range(a): res[i][i] = 1 else: res = l.copy() for i in range(m-1): res = matrix_multiplication(l,res) for i in range (a): for j in range (a): print(res[i][j],end=" ") print()

    28.分解质因数

    def fj(x,l): x1 = x i=0 l1 = [] while x!=1: while(x%l[i]!=0): i = i+1 l1.append(l[i]) x=x/l[i] i=0; print(x1,end="=") for j in range(len(l1)): if j!=len(l1)-1: print(l1[j],end="*") else: print(l1[j]) l=[] a,b=map(int,input().split()) for i in range(2,b+1): flag=True; for j in range(1,(i//2)+1): if(i%j==0 and j!=1): flag = False break if(flag): l.append(i) for i in range(a,b+1): fj(i,l)

    29.字符串对比

    def Type(a,b): x,y = len(a),len(b) if x != y: return 1 else: if a==b: return 2 else: if a.lower()== b.lower(): return 3 else: return 4 a = input() b = input() print(Type(a,b))

    30.时间转换

    t=eval(input()) h=t//3600 m=(t%3600)//60 s=(t%3600)%60 print("{}:{}:{}".format(h,m,s))
    Processed: 0.010, SQL: 9