解题思路: 使用数列内置函数append、pop等
注意事项:range的使用时,里面应该是数值类型
参考代码:
n=int(input()) str01=list(map(int,input().split())) total=0 str01.sort() # 一开始便从小到大排序 找出最小的两个值 for i in range(len(str01)-1): # 应在排除前将最小的两项和加到数列末尾 str01.append(str01[0]+str01[1]) # 记录此时的费用 即此次还未删除 total+=str01[0]+str01[1] # 除去前两项最小的 # 由于在第一次删除最小的时第二个最小的移动到第一位 故删除两次才行 str01.pop(0) str01.pop(0) # 将添加和删除后的数组重新排序 再次循环! str01.sort() print(total)
0.0分
1 人评分
C二级辅导-公约公倍 (C语言代码)浏览:496 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:746 |
C二级辅导-公约公倍 (C语言代码)浏览:2159 |
C语言考试练习题_保留字母 (C语言代码)浏览:641 |
C二级辅导-公约公倍 (C语言代码)浏览:1551 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:543 |
蓝桥杯历届试题-九宫重排 (C++代码)浏览:2813 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:738 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:787 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:540 |