| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 995 人关注过本帖
标题:[求助]请教一道三角形问题
只看楼主 加入收藏
dreamhunter
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-10-18
收藏
 问题点数:0 回复次数:5 
[求助]请教一道三角形问题

Description:
During superman’s childhood, he has been addicting to playing with sticks. After all, superman is only a child. He tries his best to form a triangle by using such sticks (None of them can be bended).

Input:
Given an integer n (3<=n<=30), which means the total number of sticks (Number 0 indicates the end of input). And n integers followed by mean the different length of such sticks(1<=len[i]<=100).
Output:
If such sticks can form a triangle (All of them should be used), please print “Yes”, or print the word “No”.


Sample Input:
3
20 30 10
4
20 30 10 10
0
Sample Output:
No
Yes

搜索更多相关主题的帖子: 三角形 sticks triangle form superman 
2006-10-18 22:21
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
很简单。
我假设, 你有3条边, a, b, c. 现在的问题是, 要满足怎么一个条件可以组成一个三角形呢? 你先确定一下哪条边为最长的边。 把它画在纸上, 然后以这条边的两个顶端为圆心, 以另外两条边为半径画圆, 看他们有没有交点, 如果有, 那么就可以组成三角形了。 所以到这里可以看出来解法了。

方法如下:
1。 确定三条边
2。 确定其中最长的一条边
3。 判断另外两条边的和是否大于那条最长的边, 如果是, 则可以。 否则,则不可以。

至于你输入4个数, 5个数, 还是输入更多得数,只是让你自己确定一个三条边的方案, 也就是说其中的某条边会由多个数的和组成。

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2006-10-18 22:49
ecbtnrt
Rank: 1
等 级:新手上路
威 望:1
帖 子:189
专家分:0
注 册:2006-4-16
收藏
得分:0 

求解三角形就使确定三边的问题,这个不需多说!
kai说的就使如何确定三条边是否能组成三角形,这个不难,任意两边之和大于第三边就可以了。

我提供一种思路,仅供参考,要使这个思路真确的话,此题不难。可以和我讨论讨论。
读进数来,然后先用三个变量存储前三个数,找到最小的加上下一个数,直到最后就找到了三个比较接近的数,如果
此数不能组成三角形就不能组成,否则就能组成三角形了。


我为你痴,为你狂!
2006-10-18 23:52
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
纠正一下你的一个说法。
[QUOTE]
任意两边之和大于第三边就可以了。
[/QUOTE]
这句话不对的。 比如10, 20, 30, 就是不能组成三角形的。 20 + 30 > 10 10 + 30 > 20 但是没用, 还是组成不了三角形的。
所以必须加一个补充条件, 那就是 a + b > c (c is max)

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2006-10-19 00:15
ecbtnrt
Rank: 1
等 级:新手上路
威 望:1
帖 子:189
专家分:0
注 册:2006-4-16
收藏
得分:0 
我在前面加了两个字“任意”

我为你痴,为你狂!
2006-10-19 00:32
ecbtnrt
Rank: 1
等 级:新手上路
威 望:1
帖 子:189
专家分:0
注 册:2006-4-16
收藏
得分:0 

判断是不是三角形这个不是什么困难的事:任意两边之和大于第三边.
在这个程序中要自始至终比较三个数的大小,用调用函数解决,也顺便很好判断是否能组成三角形

在这里事想找到一个可行的策略,
我想知道我的上面的策略是否可行.


我为你痴,为你狂!
2006-10-19 00:39
快速回复:[求助]请教一道三角形问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039788 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved