最大数是要让每个数都重新排列组成一个最大的整数,例如:
输入:
nums = [3,30,34,5,9]
输出:"9534330"
这里可以采用巧妙的冒泡排序法,前提就是让数组内的int转化为str。
具体转化法如下
map(str,nums)的作用是把int转化成str,这里生成的是一个迭代器
nums=list[map(str,nums)]可以把需要的int转化成str后变成list
接下来的工作就是冒泡排序
for i in range(n):
for j in range(i+1,n):
if nums[i]+nums[j]<nums[j]+nums[i]:
nums[i],nums[j]=nums[j],nums[i]
非常巧妙
接下来就是质因数分解,这块属于数学领域。
def su(x):#判断是不是质数
for i in range(2,x-1):
if (x%i==0):
return 0
else:
continue
return 1
def fen(n):
for j in range(n):
for i in range(2,n):
if n%i==0:
if su(i):
k.append(i);
if su(n):
k.append(n)
break