基础算法之枚举

例2-1 

    题目描述 :

     小明家里有很多长度不是一样的木棍,有一天他很无聊,便玩弄这些木棒来解闷,他想在这些木棒中挑出三根来组成一个直角三角形,当然他有很多种选法,所以他想挑一个面积最大的,

    输入:

       n(0-100)

      n组数据(<=1000)

  输出: 最大面积保留三位小数 不能组成则输出MyGod

源代码:

    

#include <stdio.h>
#define N 101
int len[N];

double GetMaxArea(int n)
{
	int i,j,k;
	double ans=-1;
	for(i=0;i<n;i++)
		for(j=i+1;j<n;j++)
			for(k=j+1;k<n;k++)
			{

				if((len[i]*len[i]+len[j]*len[j])==(len[k]*len[k]))
				{
					if(len[i]*len[j]*0.5>ans)
					{
						ans=len[i]*len[j]*0.5;
					}

				}
			}


			return ans;
}

int main()
{
	int n,i;
  while(scanf("%d",&n)!=EOF)
  {
	  for(i=0;i<n;i++)
	  {

		  scanf("%d",&len[i]);
	  }

	  double ans=GetMaxArea(n);
	  if(ans<0)printf("My God\n");
	  else printf("%.3lf\n",ans);

	  
  }

	return 0;
}

  

原文地址:https://www.cnblogs.com/OneDream/p/3000798.html