具体代码)
# 与>>类似“<< 左移” 左移一位表示乘2,二位就表示4,就是2的n次方 “>> 右移,高位补符号位” 这里右移一位表示除2“>>> 无符号右移,高位补0”;
def quickmi(a,n):
res=1
while n:
if n%2!=0:
res*=a%mod
a*=a%mod
n>>=1
return res%mod
a, b, n = map(int, input().split())
mod=b*1000
c=a/b
# print(c)
c=int(c*quickmi(10,n+2))
x=c%1000
print(x)
具体代码)
n=int(input())
a=[]
while n:
if n%26==0:
a.append(26)
n=n//26-1
else:
a.append(n%26)
n=n//26
for i in range(len(a)):
print(chr(a[len(a)-1-i]+64),end='')
具体代码)
n,m=list(map(int,input().split()))
arr=list(map(int,input().split()))
cout=0
for i in range(0,len(arr)):
for j in range(i+1,len(arr)):
if arr[i]-arr[j]==m:
cout+=1
else:
continue
# print(arr)
print(n-cout)
具体代码:(但是只通过两个,28分)
n,m=list(map(int,input().split()))
a=[]
b=[0]
cout=0
for i in range(n):
a.append(int(input()))
b.append(sum(a))
# print(a)
# print(b)
for i in range(1,n+1):
for j in range(i,n+1):
if (b[j]-b[i-1])%m==0:
cout+=1
print(cout)
具体代码:(但是只通过两个,其它的全部超时,只有20分)
def m_swap(a,b):
t=int(b)
b=int(a)
a=t
return a,b
def change(list):
result = []
for i in range(n):
result.append(re_list[0][i])
return result
n=int(input())
arr=list(map(int,input().split()))
arr_i=arr[:]
arr_i.sort()
arr1=[0 for i in range(n)]
arr2=[1 for i in range(n)]
list=arr+arr1+arr2
re_list=[arr,arr1,arr2]
# for i in re_list:
# for j in range(n):
# print(i[j],end=' ')
# print()
# print('****************************begin**********************************')
for k in re_list:
for j in range(0,n-1):
if k==re_list[0]:
if k[j]>k[j+1]:
re_list[1][j]+=re_list[2][j]
re_list[1][j+1]+=re_list[2][j+1]
re_list[2][j]+=1
re_list[2][j+1]+=1
re_list[0][j],re_list[0][j+1]=m_swap(int(re_list[0][j]),int(re_list[0][j+1]))
re_list[1][j], re_list[1][j + 1] =m_swap(int(re_list[1][j]),int(re_list[1][j + 1]))
re_list[2][j], re_list[2][j + 1] =m_swap(int(re_list[2][j]),int(re_list[2][j + 1]))
# 每次换位置之后数组显示
# for i in re_list:
# for j in range(n):
# print(i[j], end=' ')
# print()
# print("****************************************************************")
result=change(re_list[0])
# print(result)
while result!=arr_i:
for k in re_list:
for j in range(0, n - 1):
if k == re_list[0]:
if k[j] > k[j + 1]:
re_list[1][j] += re_list[2][j]
re_list[1][j + 1] += re_list[2][j + 1]
re_list[2][j] += 1
re_list[2][j + 1] += 1
re_list[0][j], re_list[0][j + 1] = m_swap(int(re_list[0][j]),
int(re_list[0][j + 1]))
re_list[1][j], re_list[1][j + 1] = m_swap(int(re_list[1][j]),
int(re_list[1][j + 1]))
re_list[2][j], re_list[2][j + 1] = m_swap(int(re_list[2][j]),
int(re_list[2][j + 1]))
# 每次换位置之后数组显示
# for i in re_list:
# for j in range(n):
# print(i[j], end=' ')
# print()
# print("****************************************************************")
result = change(re_list[0])
sum=0
for i in range(n):
sum+=re_list[1][i]
print(sum)
现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这个字母出现的次数。
第二行包含一个整数,表示出现得最多的那个字母在单词中出现的次数。
具体代码:
from collections import Counter
n=input()
arr=[]
for i in range(len(n)):
arr.append(n[i])
# print(arr)
a=Counter(arr)
# print(a)
b=a.most_common(3)
# print(b)
for i in range(len(b)-1):
if b[i][1]==b[i+1][1]:
if b[i][0]>b[i+1][0]:
print(b[i+1][0])
print(b[i+1][1])
break
else:
# print(b[i][0])
# print(b[i][1])
print(a.most_common(1)[0][0])
print(a.most_common(1)[0][1])
break
具体代码:
def avg(list,sum):
return sum/len(list)
n=int(input())
arr=[]
for i in range(n):
arr.append(int(input()))
# print(arr)
sum=sum(arr)
print(max(arr))
print(min(arr))
print('%.2f'%avg(arr,sum))
具体代码:
def cout(arr):
sum_excellent=0
sum_fail=0
for i in range(n):
if arr[i]<60 :
sum_fail+=1
if arr[i]>=85:
sum_excellent+=1
return sum_fail,sum_excellent
if __name__ == '__main__':
import math
n=int(input())
arr=[]
for i in range(n):
arr.append(int(input()))
a,b=cout(arr)
# print(int((1-a/n)*100),'%',sep='')
# print(int((b/n)*100),'%',sep='')
# Math.floor(x) // 返回小于x的最大整数 Math.ceil(x) // 返回大于x的最小整数 Math.round() 返回四舍五入后的整数
print('{}%'.format(round((1-a/n)*100)))
print('{}%'.format(round((b/n) * 100)))
具体代码:
def is_hui(x):
x=str(x)
if x==x[::-1]:
return True
else:
return False
def is_run(x):
if (x%4==0 and x%100!=0) or x%400==0:
return True
else:
return False
def is_AB(x):
x=str(x)
if (x[0]==x[2]==x[5]==x[7]) and (x[1]==x[3]==x[4]==x[6]):
return True
else:
return False
n=input()
year=int(n[0:4])
month=int(n[4:6])
day=int(n[6:])
# print(year,month,day)
i=1
flag=True
result=[]
result1=[]
while flag:
day+=1
if day==32 and month==12: # 年份+1的情况
month=1
day=1
year+=1
# print(year,month,day)
if (day==32 and (month==1 or month==3 or month==5 or month==7 or month==8 or month==10)): # 奇数月+1的情况
day=1
month+=1
if (day==31 and (month==4 or month==6 or month==9 or month==11)): # 偶数月+1的情况
day=1
month+=1
if (day==30 and month==2 and is_run(year)): # 是闰年2月的情况
day=1
month+=1
if (day==29 and month==2 and is_run(year)!=True): # 不是闰年2月的情况
day=1
month+=1
# if month==0:
# month+=1
num=year*10000+month*100+day
if is_hui(num):
result.append(num)
if is_AB(num):
result1.append(num)
break
# print(i)
# print(result)
print(result[0])
print(result1[0])
具体代码:
def DigitalTriangle():
import copy
n = int(input())
arrs=[]
for i in range(n):
arrs.append(list(map(int,input().split())))
temp_list = copy.deepcopy(arrs) # 这里的temp_list实际存储的是左下和右下路径长度
# print(temp_list)
for i in range(1, n):
for j in range(i):
# print(i,'****',j)
temp_list[i][j]=max(temp_list[i-1][j],temp_list[i-1][j-1])+arrs[i][j]
#print(temp_list)
if n%2==1:
print(temp_list[n-1][int(n/2)])
else:
if temp_list[n-1][n//2] > temp_list[n-1][n//2-1]:
print(temp_list[n-1][n//2])
else:
print(temp_list[n - 1][n // 2]-1)
DigitalTriangle()
具体代码:
def is_hui(x):
x=str(x)
if x==x[::-1]:
return True
else:
return False
def sum_hui(x):
x=str(x)
sum=0
for i in range(len(x)):
sum+=int(x[i])
# print(sum)
return sum
n=int(input())
if n>54: # t通过上面的sum可以看到最大的n为54
print(-1)
else:
for i in range(10000,1000000):
if is_hui(i):
if sum_hui(i)==n:
print(i)
具体代码:
def is_run(x):
if (x%4==0 and x%100!=0) or x%400==0:
return True
else:
return False
def default(x,y,z):
# 这些日期都在1960年1月1日至2059年12月31日。
if x>=0 and x<=59:
x+=2000
elif x>=60 and x<=99:
x+=1900
# 月份小于0或者大于12的排除
if y<=0 or y>12:
return False
# 天数小于0或者大于31的排除
if z<=0 or z>31:
return False
if is_run(x) and y==2 and z>29: # 闰年2月为29天
return False
if is_run(x)==False and y==2 and z>28: # 闰年2月为28天
return False
if (y==4 or y==6 or y==9 or y==11) and z>30:
return False
if (y==1 or y==3 or y==5 or y==7 or y==8 or y==12) and z>31:
return False
else:
if y<10:
y=str(0)+str(y)
if z<10:
z=str(0)+str(z)
arr.append(str(x) + '-' + str(y) + '-' + str(z))
return
n=input()
year=int(n[0:2])
month=int(n[3:5])
day=int(n[6:9])
arr=[]
x11,y11,z11=0,0,0
x21,y21,z21=0,0,0
x31,y31,z31=0,0,0
if year==4:
default(year,month,day)
default(day,month,year)
default(day,year,month)
# set 有去重复的功能
"""
aa = [1,2,2,3,3,2,7,8,9]
print(len(set(aa)))
"""
for i in range(len(set(arr))):
print(arr[i])
else:
default(day, month, year)
default(year, month, day)
default(day, year, month)
for i in range(len(set(arr))):
print(arr[i])