Minecraft——枚举(计蒜客)

题目链接
Minecraft 是一个几乎无所不能的沙盒游戏,玩家可以利用游戏内的各种资源进行创造,搭建自己的世界。

在 Minecraft 中,基本的建筑元素是边长为 1 个单位的立方体,小蒜想用 N 个这种小立方体搭建一个长方体,并用他珍藏已久的贴纸对其进行装饰。如果一张贴纸可以贴满小立方体的一个面。那么,他需要用掉多少张贴纸呢?

输入格式
一个整数 N,表示小明所拥有的小立方体的个数。N 不会超过 10001000。

输出格式
一个整数,即小明最少用掉的贴纸有多少张。

输出时每行末尾的多余空格,不影响答案正确性

样例输入
9
样例输出
30

题意思路:虽然不知道长宽高为多少的长方体面积最小,但是确定了长宽,高也就确定了。然后我们再枚举比较,找到面积最小的长方体。
代码:

#include <stdio.h>
#include <algorithm>
#include <iostream>
#include <stdlib.h>
#include <cstring>
#include <cmath>
#define inf 0x3f3f3f3f
using namespace std;
int n,i,j;
int main()
{
	cin>>n;
	int minn,h,s;
	minn=inf;
	for(int i=1;i<=n;i++)
    {
        for(int j=i;j<=n;j++)
        {
            if(n%(i*j)==0)
			{
				h=n/(i*j);
				s=2*i*j+2*i*h+2*j*h;
				if(s<minn)
					minn=s;
			}
        }
    }
	cout<<minn;
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值