解题思路:先将小的数字相乘消除,最后让大数相乘,得到的能量最大
注意事项:
参考代码:
a=int(input())
b=list(map(int,input().split()))
c=[[0]*2 for i in range(a)] #创建一个用来存每个数字头和尾的二维数组
d=0 #用来存总能量
for i in range(a):
if(i==a-1):
c[i]=b[i],b[0]
else:
c[i]=b[i],b[i+1] #把头尾存进去
def small(c):
return c.index(min(c)) #每次返回最小数的下标
for i in range(a-1):
j=small(c)-1
d=c[j][1]*c[j][0]*c[j+1][1] #两球相乘的过程
c[j+1]=c[j][0],c[j+1][1]
del c[j] #删除其中一个球
print(c[0]
0.0分
1 人评分
C二级辅导-求偶数和 (C++代码)浏览:789 |
【回文数(二)】 (C语言代码)浏览:873 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:629 |
C二级辅导-进制转换 (C语言代码)浏览:626 |
这可能是一个假的冒泡法浏览:1015 |
简单的a+b (C语言代码)浏览:574 |
兰顿蚂蚁 (C++代码)浏览:1075 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:537 |
wu-理财计划 (C++代码)浏览:837 |
求圆的面积 (C语言代码)浏览:1695 |