表面积最小(POJ3536)

题目链接:http://poj.org/problem?id=3536

在体积固定的情况下,表面积最小时的长,宽,高。

这里枚举长,宽,根据体积计算高。

#include <iostream>
#include <algorithm>

using namespace std;

int x=0,y=0;

void f(int n)
{
    int min=0x3f3f3f3f;
    x=1;
    y=1;
    for(int i=1; i*i<=n; i++)
    {
        if(n%i==0)
        {
            for(int j=i; i*j<=n; j++)
                if(n%(i*j)==0)
                {
                    int t=2*(i*j+i*(n/(i*j))+j*(n/(i*j)));
                    if(t<min)
                    {
                        min=t;
                        x=i;
                        y=j;
                    }
                }
        }
    }
}
int main()
{
    int n;
    cin>>n;
    f(n);
    cout<<x<<‘ ‘<<y<<‘ ‘<<n/(x*y)<<endl;
    return 0;
}

时间: 2024-10-31 07:12:41

表面积最小(POJ3536)的相关文章

洛谷 P1731 生日蛋糕

P1731 生日蛋糕 题目背景 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层 生日蛋糕,每层都是一个圆柱体. 设从下往上数第i(1<=i<=M)层蛋糕是半径为Ri, 高度为Hi的圆柱.当i<M时,要求Ri>Ri+1且Hi>Hi+1. 由于要在蛋糕上抹奶油,为尽可能节约经费,我们希望蛋糕外表面(最下一层的下底面除外)的面积Q最小. 令Q= Sπ 请编程对给出的N和M,找出蛋糕的制作方案(适当的Ri和Hi的值),使S最小. (除Q外,以上所有数据皆为正

opencv笔记(二十四)——得到轮廓之后找到凸包convex hull

当我们得到一张轮廓之后,我们可以对其运用convexHull方法,寻找该轮廓的凸包. 一个轮廓可以有无数个包围它的外壳,而其中表面积最小的一个外壳,就是凸包. void convexHull(InputArray points, OutputArray hull, bool clockwise=false, bool returnPoints=true ) points是一个contour. vector<Point>类型或者Mat类型 hull是输出,也是一个点集vector<Poin

ML(附录4)——拉格朗日乘数法

基本的拉格朗日乘子法(又称为拉格朗日乘数法),就是求函数 f(x1,x2,...) 在 g(x1,x2,...)=C 的约束条件下的极值的方法.其主要思想是引入一个新的参数 λ (即拉格朗日乘子),将约束条件函数与原函数联系到一起,使能配成与变量数量相等的等式方程,从而求出得到原函数极值的各个变量的解.拉格朗日乘子是数学分析中同一名词的推广. 什么是拉格朗日乘数法 简单地说,拉格朗日乘数法是用来最小化或最大化多元函数的.如果有一个方程f(x,y,z),在这个方程里的变量之间不是独立的,也就是说这

寻找“最好”(3)——函数和泛函的拉格朗日乘数法

拉格朗日乘数法 大多数的优化问题都会加入特定的约束,而不仅仅是指定起点和终点,此时需要更好的办法去解决优化问题,拉格朗日乘数法正是一种求约束条件下极值的方法. 简单地说,拉格朗日乘数法(又称为拉格朗日乘数法)是用来最小化或最大化多元函数的.如果有一个方程f(x,y,z),在这个方程里的变量之间不是独立的,也就是说这些变量之间是有联系的,这个联系可能是某个方程g(x,y,z) = C:也就是g(x,y,z) = C定义了x,y,z之间的关系,这个关系对变量做出了一定的的限制,我们需要在这个限制下来

20191011模拟赛

T1 题目大意 给定一个长方体的体积\(v\),确定其长宽高\(a,b,c\)使得其长方体的表面积最小. 思路 根据均值不等式: \(a+b+c \geq 3 \times^3 \sqrt{abc}\) 代入\(2ab, 2bc, 2ac\),即可得到\(ab+bc+ac \geq 6 \times^3 \sqrt{v^2}\),当且仅当\(a=b=c\)时成立. 我们发现这个右边的式子不能直接进行计算,考虑牛顿迭代或暴力枚举. 但是\(a=b=c\)这个条件不一定能满足,因为题目限制\(a,b

SDUT 2402 水杯最小表面积问题

水杯 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 天气逐渐变热了,准备考研的高童鞋打算在夏天来临之前自己动手造一个水杯,以备口渴,你知道,高童鞋是个很挑剔而且古怪的的人,他每天喝的水是一定的,一滴也不多喝,一滴也不少喝,而且他用的杯子是个长方体!他认为这样才个性. 现在问题来了,你也知道,考研是多么的艰难,时间是多么的宝贵,钱是多么的不容易赚,所以高童鞋抠一点也正常了.作为他的好朋友,他想让你帮他做一个水杯,当然要花费最少

京瓷成功开发全球最小贴片晶振CX1008有什么特点?

京瓷成功开发全球最小CX1008贴片晶振,已于5月开始了此款全球最小水晶振动子的样品供应.这无疑是市场上小型化产品的福音,京瓷集团在全球的事业涉及原料.零件.设备.机器,以及服务.网络等各个领域.所有的生产线都具备顺应时代变化的速度感,通过融合集团的独特技术,进一步积极创造新产品.开拓新市场.亿金电子京瓷晶振代理商接下来给大家讲讲这款全球最小贴片晶振CX1008晶振. 那么CX1008晶振这款目前全球最小尺寸水晶振荡子相较于其他贴片石英晶振具有哪些特点呢?CX1008贴片晶振在产品中使用具有哪些

第13条:使类和成员的可访问性最小化

区别设计良好的模块和设计不好的模块,最重要的因素在于,这个模块对于外部的其他模块而言,是否隐藏其内部数据和其他实现细节.设计良好的模块会隐藏所有的实现细节,把它的API于它的实现清晰地隔离开来.然后,模块之间通过它们的API进行通信,一个模块不需要知道其他模块的内部工作情况,这个概念称为信息隐藏或封装.使类和成员的可访问性最小化可以有效的解除系统中各个模块的耦合度.实现每个模块的独立开发.使得系统更加的可维护,更加的健壮.对于顶层的(非嵌套的)类和接口,只有两种可能的访问级别,包级私有的和公有的

旋转数组的最小数字

题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1.NOTE:给出的所有元素都大于0,若数组大小为0,请返回0. class Solution { public: int minNumberInRotateArray(vector<int> rotateArray) { if(rotateArray.size()==0) re