蓝桥杯 2020 基础练习 python

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))
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值