最小周长
来源:互联网 发布:中美大单 知乎 编辑:程序博客网 时间:2024/05/17 06:44
题目描述
一个矩形的面积为S,已知该矩形的边长都是整数,求所有满足条件的矩形中,周长的最小值。例如:S = 24,那么有{1 24} {2 12} {3 8} {4 6}这4种矩形,其中{4 6}的周长最小,为20。
输入
输入1个数S(1 <= S <= 10^9)。
输出
输入1个数S(1 <= S <= 10^9)。
样例输入
24
样例输出
20
提示
解题思路:
在我看来这道题跟正整数分组有一点点类似,因为我们很容易就想到了暴力解决!就是求出所有的情况然后在进行比较,最后筛选出最小周长的情况进行输出,但其实我们并不需要这样子操作。我们想一下周长最短意味着什么,我们设a为其中一条边的长度,然后另外一条边的长度为s/a(真的是数学的除不涉及C++语言),(a+s/a)*2就是我们的周长,根据不等式
a+b>=2*根号下a*b,前提是a=b=sqrt(s),根据我们以前学习过的对勾函数来看,这个函数将会在这个转折点左右略有上升,那么我们就在sqrt(s)减减的这种情况下找离转折点最近的符合情况,这样子找到的就是我们要求的最小周长。
#include<iostream>#include<cmath> using namespace std;int main(){double s=0;while(cin>>s){int a=sqrt(s);while((s/a)*a!=s){a--;}cout<<(a+s/a)*2<<endl;}}
阅读全文
0 0
- 最小周长
- 最小周长
- 1283 最小周长
- 1283 最小周长
- 1283 最小周长 贪心?
- 问题 : 最小周长
- 1283 最小周长
- 凸多边形最小周长外接矩形
- HDU 5224(最小周长)
- 51NOD 1283 最小周长
- 51nod 1283 最小周长
- 51 nod 1283 最小周长
- 51nod 1283 最小周长
- 51NOD 1283 最小周长
- 51nod-1283最小周长
- 51nod-【1283 最小周长】
- 51nod 1283 最小周长
- 51 nod 1283 最小周长
- PHP PDO的使用
- maven+thymeleaf笔记-3
- 开篇。
- unary_function和binay_function
- AOP 切面的使用,以及如何在通知上获取切入方法的注解和参数
- 最小周长
- BCGControlBarPro界面库静态链接方法
- 一组整数中求出最大整数序列
- JVM内存结构,堆栈和方法区分别存储的内容
- Baffle.js – 用于实现文本模糊效果的 JavaScript 库
- java微信小程序支付,退款,回调函数
- Java线程池类型创建
- 欢迎使用CSDN-markdown编辑器
- yarn运行mapreduce的工作机制