第1关 天数计算
########## Begin ##########
def run(x):
if x%4==0:
if x%100==0:
if x%400==0:
return 1
else:
return 0
else:
return 1
else:
return 0
def dayOfYear(y,m,d):
ans=0
for i in range(1,m):
if i==1 or i==3 or i==5 or i==7 or i==8 or i==10 or i==12:
ans=ans+31
elif i==2:
if run(y)==1:
ans=ans+29
else:
ans=ans+28
else:
ans=ans+30
ans=ans+d
return ans
########## End ##########
y = int(input()) #年
m = int(input()) #月
d = int(input()) #日
day = dayOfYear(y,m,d)
print('%d年%d月%d日是这年第%d天' % (y,m,d,day))
第2关 打印圣诞树
print(" * ")
print(" *** ")
print(" ***** ")
print(" ******* ")
print(" ********* ")
print(" * ")
print(" *** ")
print(" ***** ")
print(" ******* ")
print(" ********* ")
print(" *********** ")
print(" ************* ")
print(" * ")
print(" *** ")
print(" ***** ")
print(" ******* ")
print(" ********* ")
print(" *********** ")
print(" ************* ")
print(" *************** ")
print(" ***************** ")
print("*******************")
print(" *** ")
print(" *** ")
print(" *** ")
print(" *** ")
print(" *** ")
print(" *** ")
第3关 矩阵乘法
########## Begin ##########
########## End ##########
import myMatrix
num1 = int(input())
num2 = int(input())
def multiply(A,B):
n=len(A)
k=len(A[0])
m=len(B[0])
C=[[0]*m for _ in range(0,n)]
for i in range(0,n):
for j in range(0,m):
for o in range(0,k):
C[i][j]=C[i][j]+A[i][o]*B[o][j]
return C
A = myMatrix.getMatrix(num1)
print('A=')
myMatrix.printMatrix(A)
B = myMatrix.getMatrix(num2)
print('\nB=')
myMatrix.printMatrix(B)
C=multiply(A, B)
print('\nC=AxB=')
myMatrix.printMatrix(C)
第4关 验证哥德巴赫猜想
########## Begin ##########
def YES(N):
#判断是否素数
def Goldbach(N):
for i in range(3,N):
if YES(i) and YES(N-i):
return i,N-i
########## End ##########
N=int(input(''))
N1,N2 = Goldbach(N)
print('%d = %d + %d' % (N, N1, N2))
第5关 实现欧拉函数
########## Begin ##########
import math
def Phi(N):
if N==1:
return 1
ans=0
for i in range(1,N):
if #这里编写最大公因数函数:
ans=ans+1
return ans
########## End ##########
n=int(input(''))
print('Phi(%d)=%d' % (n, Phi(n)))
第6关 推翻欧拉的猜想
########## Begin ##########
def YES(N):
for i in range(2,N):
if N%i==0:
return 0
return 1
def f(N):
return N*N+N+41
cnt=1
while YES(f(cnt)):
print("f(%d)=%d是素数" % (cnt,f(cnt)))
cnt=cnt+1
for i in range(2,f(cnt)):
if f(cnt)%i==0:
print("f(%d)=%d=%d*%d不是素数" % (cnt,f(cnt),i,f(cnt)/i))
break
########## End ##########