文章目录
🤡前言🤡
💟进制转换💞
💗问题描述💗
💗问题分析💗
💗代码实现💗
# 十六进制转换为八进制
n=input()
# 由于转换后带一个前缀0x或者0o,故我们要从第三个位置数据开始输出
print(oct(int(n,base=16))[2::])
# 十六进制转换为十进制
n=input()
print(int(n,base=16))
#十进制转换为十六进制
n=int(input())
print(hex(n).upper()[2::])
💟特殊回文数💞
🧡问题描述🧡
🧡问题分析🧡
🧡代码实现🧡
# 五位数
for i in range(1,10):# 控制最高位
for j in range(10): # 控制第二位
for k in range(10): # 控制中间的数值
if 2*i+2*j+k==n:
print(f'{i}{j}{k}{j}{i}')
# 六位数
for i in range(1,10):# 控制最高位
for j in range(10): # 控制第二位
for k in range(10): # 控制中间的数值
if 2*i+2*j+2*k==n:
print(f'{i}{j}{k}{k}{j}{i}')
💟水仙花数💞
💛问题描述💛
💛问题分析💛
💛代码实现💛
for i in range(100,1000):
if i==pow(i%10,3)+pow((i//10)%10,3)+pow(i//100,3):
print(i)
💟杨辉三角💞
💚问题描述💚
💚问题分析💚
💚代码实现💚
n=int(input())
ans=[[0]*n for i in range(n)]
i=0
while i<n:
ans[i][0]=1
i+=1
for i in range(1,n):
for j in range(1,n):
ans[i][j]=ans[i-1][j-1]+ans[i-1][j]
for i in range(n):
for j in range(n):
if ans[i][j]==0:
break
if j==0:
print(ans[i][j],end="")
else:
print(" ",ans[i][j],end="",sep="")
print()
💟字母图形💞
💙问题描述💙
💙问题分析💙
💙代码实现💙
from collections import deque
n,m=map(int,input().split())
ans=deque([i+65 for i in range(m)])
# print(*ans)
for i in ans:
print(chr(i),end="")
print()
for i in range(1,n):
ans.appendleft(65+i)
ans.pop()
for j in ans:
print(chr(j),end="")
print()
💟01字符串💞
💜问题描述💜
💜问题分析💜
💜代码实现💜
ans=[]
for i in range(0,32):
ans.append(bin(i)[2:].rjust(5,'0'))
for i in ans:
print(i)
💟回形取数💞
🤎问题描述🤎
🤎问题分析🤎
🤎代码实现🤎
m,n=map(int,input().split())
re=[list(map(int,input().split())) for x in range(m)]
ans=[]
ans.append(re[0][0])
re[0][0]=None
# 记录矩阵的行和列
row=0
col=0
i=1
while i<n*m:
while row<m-1 and re[row+1][col]!=None:
ans.append(re[row+1][col])
re[row+1][col]=None
row+=1
i+=1
while col<n-1 and re[row][col+1]!=None:
ans.append(re[row][col+1])
re[row][col+1]=None
col+=1
i+=1
while row>=0 and re[row-1][col]!=None:
ans.append(re[row-1][col])
re[row-1][col]=None
row-=1
i+=1
while col>=0 and re[row][col-1]!=None:
ans.append(re[row][col-1])
re[row][col-1]=None
col-=1
i+=1
flag=True
for i in ans:
if flag:
print(i,end="")
flag=False
else:
print(f" {i}",end="")
💟排他方数💞
💝问题描述💝
💝问题分析💝
💝代码实现💝
ans=0
for i in range(100000,1000000):
if len(str(i))!=len(set(str(i))):
continue
if i!=203879 and len(set(str(i))&set(str(i*i)))==0:
ans=i
break
print(i)
💟世纪末的星期日💞
🖤问题描述🖤
🖤问题分析🖤
🖤代码实现🖤
import datetime
for i in range(1999,10000,100):
temp=datetime.datetime(year=i,month=12,day=31)
if temp.weekday()==6:
print(i)
break
💟约瑟夫环💞
🤍问题描述🤍
🤍问题分析🤍
🤍代码实现🤍
n,k=map(int,input().split())
ans=[i for i in range(1,n+1)]
i=0
while len(ans)!=1:
i+=k
if i>len(ans):
i%=len(ans)
ans.pop(i-1)
i-=1
print(*ans)