木棒三角形

来源:互联网 发布:深圳raid 5数据恢复 编辑:程序博客网 时间:2024/05/02 01:24

1. 问题陈述

 

 http://acm.hrbeu.edu.cn/index.php?act=problem&id=1003&cid=17

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

 

2. 解题思路

 

由于数组是从小到大排列的,这里采用穷举的方法来实现。

 

3. 实现代码

 

 #include <stdio.h>


void main(){
 int num,i,j,k,s[100],flag=1,t=0;
 float ans,Ans;
 while (flag) {
  scanf("%d",&num);
  getchar();
  if(num==0)  break;//输入0为结束
  for(i=0;i<num;i++)

{
   scanf("%d",&s[i]);
   //getchar();
  }

 

// 遍历文件
  for(i=0;i<num;i++){
   for(j=i+1;j<num;j++){
    for(k=j+1;k<num;k++){
     // 数组从小大排列
     if(s[i]*s[i]+s[j]*s[j]==s[k]*s[k]){
      t=1;
      ans=0.5*s[i]*s[j];}
     if(ans>=Ans)    Ans=ans;
    }//for
   }//for
  }//for
  if(t==0)
   printf("My God!/n");
  else
   printf("%.3f/n",Ans);
  t=Ans=ans=0;
 }//while
}//main

原创粉丝点击