| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1142 人关注过本帖
标题:大哥们,有个问题
取消只看楼主 加入收藏
钢镚猪521
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-12-13
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
大哥们,有个问题
Description

小A家里有很多长度不一样的木棍,有一天他很无聊,只能摆弄这些木棒来解闷了。小A的数学学得很好,所以他想在这些木棒中挑出3根来组成一个直角三角形,当然,他有可能有很多种选法,所以他还想挑出一个面积最大的。

Input

输入有多组,每组输入包括2行,第一行输入一个n(0<=n<=100),表示小A有n根木棍,接着一行有n个整数(<=1000),表示木棍的长度(长度从小到大给出)。

Output

输出面积最大的直角三角形的面积,且保留3位小数,如果不能组成,输出“My Good!”

Sample Input

4
1 2 3 4
5
2 3 4 5 6
6
3 4 5 6 8 10
2
1 1

Sample Output

My Good!
6.000
24.000
My Good!

搜索更多相关主题的帖子: 三角形 最大的 大哥 数学 
2010-12-13 18:00
钢镚猪521
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-12-13
收藏
得分:0 
不是作业了,就是在oj上老超时
这是我写的
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
    for(;;)
    {int i,j,k,t,n;
    float s;
    int a[21];
    scanf("%d",&n);
    for(i=1;i<=n;i++)
     scanf("%d\n",&a[i]);
    if(n<3)
      t=0;
    else
    {for(i=n;i>=3;i--)
    {
      for(j=i-1;j>=2;j--)
       {
         for(k=j-1;k>=1;k--)
         {
           if(a[i]*a[i]!=a[j]*a[j]+a[k]*a[k])
             t=0;
           else
             t=1;break;
         }
         if(t==1)break;
       }
      if(t==1)break;
    }}
    if(t==0)
      printf("Good Job");
    else
     {s=(a[j]*a[k])*1.0/2.0;
     printf("%.3f",s);}}
  system("PAUSE");   
  return 0;
}
2010-12-13 21:35
快速回复:大哥们,有个问题
数据加载中...
 
   



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

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