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

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-12-13 19:07
zdyzhang
Rank: 9Rank: 9Rank: 9
来 自:栖息地
等 级:蜘蛛侠
威 望:4
帖 子:2335
专家分:1227
注 册:2008-9-20
收藏
得分:0 
先讲自己的思路撒。

悲剧源于生活。
2010-12-13 19:18
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
肯定是作业

                                         
===========深入<----------------->浅出============
2010-12-13 19:33
钢镚猪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
guxinglei132
Rank: 2
等 级:论坛游民
帖 子:43
专家分:69
注 册:2010-10-19
收藏
得分:10 
你的程序应该有错误吧 而且
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!

不可能 啊 以下是我的代码
程序代码:
#include <stdio.h>
int main()
{
    int i,j,k,t,n;
    int a[50];
    scanf("%d",&n);
    while(n>2)
    {
     for(i=0;i<n;i++)
       scanf("%d",&a[i]);
     t=1;
     for(i=n-1;i>1;i--)
     {
       for(j=i-1;j>0;j--)
        {
          for(k=j-1;k>=0;k--)
          {
            if(a[i]*a[i]==a[j]*a[j]+a[k]*a[k])
              {
                 printf("%.3f\n",(float)a[j]*a[k]);
                t=0;
                break;
              }
          }
          if(t==0)break;
        }
       if(t==0)break;
     }
     if(t==1)
       printf("Good Job\n");
     scanf("%d",&n);
    }
    
  return 0;
}

2010-12-13 22:20
yono
Rank: 2
等 级:论坛游民
帖 子:6
专家分:20
注 册:2010-12-14
收藏
得分:10 
仅供参考,欢迎指正。
----------------------------
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>   
#include<string.h>   
        
void main()
{
    int a,b,c,p;
    int n;
    int i=0;
    int len[100];
    memset(len,0,100*sizeof(int));
    float area=0,s;
    printf("input the quantity of sticks.\n");
    scanf("%d",&n);
    if(n<3)
    {
        printf("the sticks is not enough!\n");
        system("pause");
        return;
    }
    printf("input the length of sticks(Ascending).\n");   
    for (i;i<n;i++)
        scanf("%d",&len[i]);

    for(c=n-1;c>1;c--)
    {
        for(b=c-1;b>0;b--)
        {
            p=len[b]*len[b]+len[b-1]*len[b-1];
            if(len[c]*len[c]>p)
                break;
            for(a=b-1;a>=0;a--)
            {
                p=len[b]*len[b]+len[a]*len[a];
                if(len[c]*len[c]>p)
                    break;
                if(len[c]*len[c]==p)
                {
                    s=len[a]*len[b]/2;
                    if(s>area)
                        area=s;
                }
            }
        }
    }

    if(area==0)
        printf("My God!\n");
    printf("the area is %.3f\n",area);
    system("pause");
}
2010-12-14 18:14
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:0 
OJ的题目 麻烦

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-12-14 21:21
快速回复:大哥们,有个问题
数据加载中...
 
   



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

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