python-小理的三角形

题目描述

小理有一个数组长度大小为 n ,数组中有 n 个正整数。

现在小理请你从其中选出三个元素(注意选择元素的下标不能相同,但是其值可以相同)组成一个三角形。

无法做到,请输出一行一个字符串"No solution",反之请输出这三个元素的值。

如果有多种组成三角形的元素组合,你可以输出任意一种。
输入格式

第一行是一个正整数 n 表示数组的元素个数。

接下来一行输入 n 个正整数 ai​ 表示每个数组元素的值。
输出格式

如无法做到,请输出一行一个字符串"No solution",反之请输出这三个元素的值。

如果有多种组成三角形的元素组合,你可以输出任意一种。
样例输入输出
样例输入#1

5

2 2 3 2 2
样例输出#1

2 2 3
样例输入#2

3

1 2 1
样例输出#2

No solution
数据范围

对于 100% 的数据,保证 1≤n≤100,1≤ai​≤109 。
提示说明

样例# 1 :使用 2 2 3 ,可以组成一个三角形。

样例# 2 :使用 1 2 1 ,不能组成一个三角形,无解。

来源/分类(难度系数:四星
二分查找 搜索 暴力 枚举

完整代码展示:

n=int(input())

list_1=list(map(int,input().split()))

list_5=[]

sum=0

for i in range(0,len(list_1)):

list_2=list_1[:]

list_2.remove(list_2[i])

for j in range(0,len(list_2)):

list_3=list_2[:]

list_3.remove(list_2[j])

for k in range(0,len(list_3)):

list_4=[list_1[i],list_2[j],list_3[k]]

list_4.sort()

if list_4[-1]<list_4[0]+list_4[1]:

sum+=1

list_5.append(list_1[i])

list_5.append(list_2[j])

list_5.append(list_3[k])

if sum==0:

print("No solution")

else:

print(list_5[0],list_5[1],list_5[2])

代码解释

"n=int(input()) ",让用户输入数组中的元素数量n。

"list_1=list(map(int,input().split()) ",让用户输入数组中的元素,并将起储存在list_1中。

"sum=0
for i in range(0,len(list_1)):
list_2=list_1[:]
list_2.remove(list_2[i])
for j in range(0,len(list_2)):
list_3=list_2[:]
list_3.remove(list_2[j])
for k in range(0,len(list_3)):
list_4=[list_1[i],list_2[j],list_3[k]]
list_4.sort()
if list_4[-1]<list_4[0]+list_4[1]:
sum+=1
list_5.append(list_1[i])
list_5.append(list_2[j])
list_5.append(list_3[k])
",sum为能组成三角形的元素组合的数量。任意抽取list_1中的三个元素,并将这三个元素储存在列表list_4。接着对list_4中的元素进行升序排序,判断list_4中的最大元素是否大于最小和次小元素之和:如果是,则让sum+1,将这三个元素添加进list_5中。

"if sum==0:
print("No solution")
else:
print(list_5[0],list_5[1]
",判断sum是否为0,如果是:输出对应结果,否则打印list_5的前三个元素。

运行效果展示:

(声明:以上内容均为原创)

相关推荐
人工干智能1 分钟前
OpenAI Assistants API 中 client.beta.threads.messages.create方法,兼谈一星*和两星**解包
python·llm
databook10 分钟前
当条形图遇上极坐标:径向与圆形条形图的视觉革命
python·数据分析·数据可视化
阿部多瑞 ABU39 分钟前
`chenmo` —— 可编程元叙事引擎 V2.3+
linux·人工智能·python·ai写作
acanab43 分钟前
VScode python插件
ide·vscode·python
666HZ6661 小时前
数据结构2.0 线性表
c语言·数据结构·算法
知乎的哥廷根数学学派2 小时前
基于生成对抗U-Net混合架构的隧道衬砌缺陷地质雷达数据智能反演与成像方法(以模拟信号为例,Pytorch)
开发语言·人工智能·pytorch·python·深度学习·机器学习
实心儿儿2 小时前
Linux —— 基础开发工具5
linux·运维·算法
WangYaolove13142 小时前
Python基于大数据的电影市场预测分析(源码+文档)
python·django·毕业设计·源码
知乎的哥廷根数学学派2 小时前
基于自适应多尺度小波核编码与注意力增强的脉冲神经网络机械故障诊断(Pytorch)
人工智能·pytorch·python·深度学习·神经网络·机器学习
charlie1145141912 小时前
嵌入式的现代C++教程——constexpr与设计技巧
开发语言·c++·笔记·单片机·学习·算法·嵌入式