用蛮力法实现随机输入n个正整数,存放在数组中,设计一个算法从中选出3个数,组成周长最长的三角形并输出周长,无法组成三角形的则输出为0
时间: 2024-05-04 18:20:17 浏览: 110
蛮力法 算法设计和分析
以下是用蛮力法实现的算法:
1. 首先随机生成n个正整数,并存放在数组a中。
2. 用三重循环遍历所有可能的三个数的组合,计算它们的周长。
3. 对于每个组合,判断它们能否组成三角形,如果能,则更新最大周长。
4. 如果最大周长大于0,则输出最大周长,否则输出0表示无法组成三角形。
下面是实现这个算法的示例代码:
```python
import random
n = 10
a = [random.randint(1, 100) for i in range(n)]
max_perimeter = 0
for i in range(n):
for j in range(i+1, n):
for k in range(j+1, n):
perimeter = a[i] + a[j] + a[k]
if a[i]+a[j]>a[k] and a[i]+a[k]>a[j] and a[j]+a[k]>a[i]:
if perimeter > max_perimeter:
max_perimeter = perimeter
if max_perimeter > 0:
print(max_perimeter)
else:
print(0)
```
注意,这个算法的时间复杂度是O(n^3),当n很大时,运行时间会非常长。因此,在实际应用中,我们需要考虑更高效的算法。
阅读全文