【算法题】完全平方数相关

一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数

注 1:若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数

注 2:python3 中使用斜杠的除法结果为浮点数,若要结果为整数可使用双斜杠

请编写函数计算出该整数的所有可能情况

按照由小到大的顺序保存到列表中并返回这个列表

def  calculate_numbers():
    # your code here

上期答案:

# 解法一
def timesort(List, start, end):
    if start < end:
        i, j = start, end
        base = List[i].split('|')[2]
        while i < j:
            while (i < j) and (List[j].split('|')[2] >= base):
                j = j - 1
            List[i], List[j] = List[j], List[i]
            while (i < j) and (List[i].split('|')[2] <= base):
                i = i + 1
            List[j], List[i] = List[i], List[j]
        List[i].split('|')[2] = base
        timesort(List, start, i-1)
        timesort(List, j+1, end)
    return List
        
for i in list1:
    if len(i) > 1:
        timesort(i,0,len(i)-1)
        
print(list1)

# 解法二
def takeThird(li):
    return li.split('|')[2]

list2 = []

for i in list1:
    i.sort(key=takeThird)
    list2.append(i)
	
print(list2)