7216:Minecraft
likztime
2018-01-15 17:13:58
#7216:Minecraft
总时间限制: 1000ms 内存限制: 65536kB
描述
Minecraft是一个几乎无所不能的沙盒游戏,玩家可以利用游戏内的各种资源进行创造,搭建自己的世界。[![](http://media.openjudge.cn/images/upload/1403231004.png)](http://media.openjudge.cn/images/upload/1403231004.png)
在Minecraft中,基本的建筑元素是边长为1个单位的立方体,Tony想用N个这种小立方体搭建一个长方体,并用他珍藏已久的贴纸对其进行装饰。如果一张贴纸可以贴满小立方体的一个面。那么,他需要用掉多少张贴纸呢?
输入
一个整数N,表示小明所拥有的小立方体的个数。N不会超过1000。
输出
一个整数,即小明最少用掉的贴纸有多少张。
样例输入
9
样例输出
30
#题目分析:
#乍一看哟,还挺难的,其实只需要枚举表示这个长方体的表面积就行了
代码:
```cpp
#include<bits/stdc++.h>
using namespace std;
long minn=100000000;
long b;
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;++i)//长
for(int j=1;j<=n;++j)//宽
for(int k=1;k<=n;++k)//高
{
if(i*j*k==n)
{
b=2*(i*j+j*k+i*k);//求长方体的表面积
if(b<minn)//求出最小值
{
minn=b;
}
}
if(i*j*k>n)
break;//减少枚举次数
}
printf("%d\n",minn);
return 0;
}
```