51nod 1284

#include <bits/stdc++.h>
using namespace std;
int main()
{ int S;
cin>>S;
double s=sqrt(S); //x+y>=2sqrt(x*y);当且仅当x=y=sqrt(x*y)时等号成立,最接近中间数时,周长最小
for(int i=(int)s;i>=1;i++)
{ double res=S*1.0/i; //算出S除以整数i实际为多少
if(res==(int)res) //若res为整数则res,i分别为长方形的长宽
{ int c=(res+i)*2;
cout<<c;      //此处有疑问,求访问者评论解答:为何两个语句不能合并成cout<<(res+i)*2;  ? if中的res 和 i不都已经是整数了嘛
break;}
}
}


posted @ 2018-02-23 16:09  kong孔  Views(92)  Comments(0)    收藏  举报