• Tom and paper


    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5224

    题意:

            给定一张长方形纸的面积,其边长均为整数,求最小周长。

            输入:首行输入案例数T,接下来T行分别输入测试面积n;

            输出:单行输出最小周长。

    案例:

       Sample Input
    
    3 2 7 12
    Sample Output
        6
        16
        14

    分析:

            此题,本人也是抱着尝试的态度,没想到竟然AC。矩形面积为长*宽,其中一条短边长定不过面积的平方根值,矩形周长为(长*宽)*2,只需找出(长+宽)的最小值即可。

    源代码:

     1 #include<iostream>
     2 #include<cmath>
     3 using namespace std;
     4 int main()
     5 {
     6     int T,k;
     7     long n,min;
     8     cin>>T;//案例数
     9     while(T--)
    10     {
    11         cin>>n;//测试数据
    12         min=n+1;//假定min为最小周长的二分之一
    13         k=int(sqrt(n)+1);//矩形短边边长测试数据最大值
    14         for(int i=2;i<=k;i++)
    15             if(n%i==0&&min>((n/i)+i))//比较判别最小周长的二分之一
    16                 min=i+n/i;
    17         cout<<2*min<<endl;//输出最小周长
    18     }
    19     return 0;
    20 }
  • 相关阅读:
    在Visual Studio中使用NUnit
    C#调用Exe
    网页用chrome打开为乱码
    ctags最基本用法
    Facebook Connect
    SVM初体验
    python中可恶的回车符
    初识PowerDesigner
    Mysql中文乱码问题解决
    stat函数
  • 原文地址:https://www.cnblogs.com/huaszjh/p/4693257.html
Copyright © 2020-2023  润新知