1001 害死人不偿命的(3n+1)猜想 (15 分):
重点:
(请看清题目的)主要问题对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。
代码:
sum=0
n= int(input())
while n!=1 :
if((n%2)==0):
n=(n/2)
sum+=1
else :
n=n*3+1
print(sum)
1002 写出这个数 (20 分):
代码:
switch ={
1:"yi",
2:"er",
3:"san",
4:"si",
5:"wu",
6:"liu",
7:"qi",
8:"ba",
9:"jiu",
0:"ling"}
n= int(input())
sum=0
n=str(n)
for i in range(len(n)):
sum+=int(n[i])
sum=str(sum)
s=""
i=0
for i in range(len(sum)):
if i!=0:
s+=" "+switch[int(sum[i])]
else:
s+=switch[int(sum[i])]
i+=1
print(s)
1004 成绩排名 (20 分):
没啥大问题 就是选取好用那种数据类型
n=int(input())
s=[]
max1=["",0]
min1=["",100]
for i in range(n):
r=input()
s+=r.split()
for i in range(1,n+1):
if int(s[i*3-1])<=min1[1]:
min1[1]=int(s[i*3-1])
min1[0]=i
if int(s[i*3-1])>=max1[1]:
max1[1]=int(s[i*3-1])
max1[0]=i
for i in range(1):
print(s[max1[0]*3-3],s[max1[0]*3-2])
print(s[min1[0]*3-3],s[min1[0]*3-2])
1006 换个格式输出整数 (15 分):
switch ={
2:"S",
3:"B"}
n=str(input())
s=""
sum=len(n)
for i in range(sum):
if i!=sum-1:
s+=switch[sum-i]*int(n[i])
else:
for j in range(int(n[i])):
s+=str(j+1)
print(s)
1011 A+B 和 C (15 分):
重点:给的整型的数据类型 灵活定义数据类型
n=int(input())
a=[]
for i in range(n):
s=input()
s = s.split()
a.append(str((float(s[0])+float(s[1])>float(s[2]))).lower())
for i in range(n):
print("Case #"+str(i+1)+":",a[i])
1015 德才论 (25 分):
始终发现有三个测试点运行超时。。。。。。我己经没有办法了
c=input().split()
n,c1,c2=int(c[0]),int(c[1]),int(c[2])
hh=[]
hl=[]
ll=[]
l=[]
a=[]
b=[]
for i in range (n):
s=input().split()
if int(s[1])>=c1 and int(s[2])>=c1 :
if int(s[1])>=c2 and int(s[2])>=c2:
hh.append(s)
elif int(s[1])>=c2:
hl.append(s)
elif int(s[1]) >=int(s[2]):
ll.append(s)
else:
l.append(s)
def paixu(a=[]):
g=len(a)
for i in range (g):
for j in range(i+1,g):
if int(a[i][1])+int(a[i][2])<int(a[j][1])+int(a[j][2]):
b=a[i]
a[i]=a[j]
a[j]=b
elif int(a[i][1])+int(a[i][2])==int(a[j][1])+int(a[j][2]):
if int(a[j][1])>=int(a[i][1]):
b = a[i]
a[i] = a[j]
a[j] = b
paixu(hh)
paixu(hl)
paixu(ll)
paixu(l)
hh=hh+hl+ll+l
count=len(hh)
print(count)
for h in range(count):
for k in range(3):
if k==2:print(hh[h][k])
else:print(hh[h][k],end=" ")
1020 月饼 (25 分):
重点:只有种类和需求量是整数
n=input().split()
zl,big=int(n[0]),int(n[1])
a=[]
k=0
sum=0.00
b=[]
for i in range(2):
s=input().split()
a.append(s)
for i in range(zl):
b.append(float(a[1][i])/float(a[0][i]))
a.append(b)
c=sorted(b,reverse=True)
while big>0:
h=a[2].index(c[k])
if big>float(a[0][h]):
sum=sum+float(a[1][h])
big=big-float(a[0][h])
else :
sum=sum+float(big/float(a[0][h]))*float(a[1][h])
big=big-float(a[0][h])
k += 1
print('%.2f' % sum)
exit(0)