在半径为r的圆内有两个互相正交的内接长方形,如图所示,其中a和b可以随便取,但必须是整数。编一程序用来选择a和b的值使阴影部分面积最大。

#include<iostream>
#include "math.h"
using namespace std;
int main() {
    int n, m,i,j;
    cin >> n;
    float  a[405][405];
   for( i=1;i<2*n;i++)
   {
       for(j=1;j<2*n;j++)
       {
           a[i][j]=2.0*j*sqrt(n*n*1.0-j*j/4.0)+2.0*i*sqrt(n*n*1.0-i*i/4.0)-i*j*1.0;
       }
   }
   float  max=a[1][1];
   for(i=1;i<2*n;i++) {
       for (j = 1; j < 2 * n; j++) {
           if (a[i][j] > max)max = a[i][j];
       }
   }
    for( i=1;i<2*n;i++)
    {
        for(j=1;j<2*n;j++)
        {
        if(a[i][j]==max)
        {
            cout<<i<<endl;
            cout<<j<<endl;
            return 0;
        }
        }
    }
}
posted @ 2020-03-14 23:47  陌路旧夜  阅读(307)  评论(0)    收藏  举报