我已经写了一些代码,但是它一直没有得到正确的结果 我不明白是什么问题。 例如,我将其更改为range(2)并给它570和594,正确的答案是594 16但它给了我570 16,但在其他情况下它可以正常工作,我不知道它是什么。问题!
maxim=0
maxnum=0
def divisor(number):
counter=0
for i in range(0,number):
if number%(i+1) == 0:
counter+=1
return counter
for i in range(20):
num=int(input())
divis=divisor(num)
if maxim<divis:
maxnum=num
maxim=divis
maxnum=num
print(maxnum,maxim)
答案 0 :(得分:3)
maxnum
时,才更改maxim
。因此,由于第一个输入maxnum
为570,所以输入570。像这样更改,
if maxim<=divis:
if (maxim==divis and num>maxnum) or maxim<divis:
maxnum=num
maxim=divis
答案 1 :(得分:0)
您的最大更新条件为maxim<divis
。 570
和594
具有相同的divis
,因此maxnum
是570