51nod 1283 最小周长

来源:互联网 发布:动态相册软件 编辑:程序博客网 时间:2024/05/01 06:46

1283 最小周长
题目链接:最小周长
一个矩形的面积为S,已知该矩形的边长都是整数,求所有满足条件的矩形中,周长的最小值。例如:S = 24,那么有{1 24} {2 12} {3 8} {4 6}这4种矩形,其中{4 6}的周长最小,为20。
Input
输入1个数S(1 <= S <= 10^9)。
Output
输出最小周长。
Input示例
24
Output示例
20

题目分析:数学问题,面积确定时,两个数相差越小其周长越小。

/**  *@xiaoran  */#include<iostream>#include<cstdio>#include<map>#include<cstring>#include<string>#include<algorithm>#include<queue>#include<vector>#include<stack>#include<cstdlib>#include<cctype>#include<cmath>#define LL long longusing namespace std;int main(){    int s;    while(cin>>s){        int x,y,k;        k=(int) (sqrt(s)+0.5);        x=y=k;        while(1){            if(x*y<s){                y++;            }            else if(x*y>s){                x--;            }            else{                break;            }        }        cout<<2*(x+y)<<endl;    }    return 0;}
0 0
原创粉丝点击