16.最小数位和 - 蓝桥云课 (lanqiao.cn)
问题描述
个数的数位和是指这个数各个数位上的数字之和。例如2023的数位和是2+0+2+37
对于以下这些数(8行,每行8个,共64个),请问数位和最小的数是多少?(如果有多个,请回答出现最早的那个
st=[454771,329157, 801601 ,580793 ,755604, 931703, 529875, 361797,
604358 ,529564 ,574776 ,821517 ,195563 ,688516 ,223321 ,607845,
284772 ,603562 ,543328 ,707484 ,533688 ,380468 ,233733 ,257995,
896582 ,670074 ,912386 ,702393 ,722092 ,834842 ,126346 ,606526,
376981 ,910643 ,413754 ,945725 ,817853 ,651778 ,350775 ,676550,
316935 ,487808 ,939526 ,900568 ,423326 ,298936 ,927671 ,539773,
136326 ,717022 ,886675 ,466684 ,436470 ,558644 ,267231 ,902422,
743580 ,857864 ,529622 ,320921 ,595409 ,486860 ,951114 ,558787]
dic={}
for i in st:
sum=0
for j in str(i):
sum+=int(j)
dic[i]=sum
dic=sorted(dic.items(),key=lambda x:x[1])#打印发现没多个相同的直接输出第一个
print(dic[0][0])