阅读以下说明和Python程序,填补程序中的空缺(1)~(2)。
[说明]函数factors(n)的功能是判断整数n(n≥2)是否为完全数。如果n是完全数,则函数返回0,否则返回-1。所谓“完全数”是指整数n的所有因子(不包括n)之和等于n自身。例如,28的因子为1、2、4、7、14,而28=1+2+4+7+14,因此28是“完全数”。
def factors(n):
i=1
s=0
while i<=n/2:
if n%i==0:
(1)
i+=1
if (2):
return 0
return -1
print(factors(28))
阅读以下说明和Python程序,填补程序中的空缺(1)~(3)。
[说明]在n行n列的矩阵中,每行都有最大的数,本程序求这n个最大数中的最小一个。
a=[[17,24,1,8,15],
[23,5,7,14,16],
[4,6,13,20,22],
[10,12,19,21,3],
[11,18,25,2,9]]
n=len(a)
for row in range(n):
max=a[row][0]
for col in range(1,n):
if (1):
max=a[row][col]
if (2):
min=max
elif (3):
min=max
print("The min of max numbers is %d"%min)
阅读以下说明和Python程序,填补程序中的空缺(1)~(5)。
[说明]
函数GetDateId(y,m,d)的功能是计算并返回指定合法日期date(y代表年份,m代表月份,d代表日)是其所在年份的第几天。例如,date表示2008年1月25日时,函数的返回值为25, date表示2008年3月3日时,函数返回值为63。
函数Kday_Date(y,k)的功能是计算并返回指定年份y的第k天所对应的日期(m代表月份,d代表日)。例如,2008年的第60天是2008年2月29日,2009年的第60天是2009年3月1日。
函数isLeapYear(y)的功能是判断y代表的年份是否为闰年,是则返回True,否则返回False。
def GetDateId(y,m,d):
days_month=[0,31,28,31,30,31,30,31,31,30,31,30,31]
date_id=d
for i in range((1)):
date_id+=days_month[i]
if (2) and isLeapYear(y):
date_id+=1
return date_id
def Kday_Date(y,k):
days_month=[0,31,28,31,30,31,30,31,31,30,31,30,31]
if isLeapYear(y):
days_month[2]+=1
i=1
while True:
k=k-days_month[i]
i+=1
if k<=0:
d=k+(3)
m=(4)
(5)
return m,d
isLeapYear=lambda y:y%4==0 and y%100!=0 or y%400==0
print(GetDateId(2008,1,25))
print(GetDateId(2008,3,3))
print(Kday_Date(2008,60))
print(Kday_Date(2009,60))