托尼想用N个那种小立方体搭建一个长方体永利会娱乐,托尼想用N个那种小立方体搭建一个长方体

描述

样例输出
30

在Minecraft中,基本的修建成分是边长为二个单位的立方体,托尼想用N个那种小立方体搭建壹个长方体,并

 1 #include<stdio.h>  
 2 #include<stdlib.h>  
 3 #include<string.h>  
 4 #include<math.h>  
 5   
 6 int main()  
 7 {  
 8     int n,min=999999,h,now,i,j;  
 9     scanf("%d",&n);  
10     for(i=1;i<=n/3;i++)  
11         for(j=i;j<=n/3;j++)  
12             if(n%(i*j)==0)  
13             {  
14                 h=n/(i*j);  
15                 now=i*j*2+i*h*2+j*h*2;  
16                 if(now<min)  
17                     min=now;  
18             }  
19     printf("%d",min);  
20     return 0;  
21 }  
30

代码来源:http://blog.csdn.net/mrh929/article/details/50626191

 1 #include<cstdio>  
 2 #include<cstdlib>  
 3 #include<cmath>  
 4 #include<iostream>
 5 #include<algorithm>
 6 using namespace std;
 7 int n,ans=100000;
 8 int main()
 9 {
10     cin >> n;
11     for (int i = 1; i <= sqrt(n); i++)
12         for (int j = 1; j <= sqrt(n); j++)
13         {
14             if (n % (j*i) == 0)
15             {
16                 int k = n / i / j;
17                 int temp = (k*i + j*i + k*j) * 2;
18                 ans = ans < temp ? ans : temp;
19             }
20         }
21     cout << ans;
22 }

思路:体量固定,枚举长、宽、高算最小表面积即可,长、宽、高按升序排列,可去掉一部分无谓的遍历。

永利会娱乐 1永利会娱乐 2

由于n值太小,本题完全能够用枚举法操作。

样例输入

永利会娱乐 3

 永利会娱乐 4

那就是说代码便随手拈来了,两重循环,计算所需贴纸数量,判断是还是不是为最少的方案,存储,输出答案。

 
 壹个平头N,表示小明所具有的小立方体的个数。N不会领先1000。输出二个平头,即小明最少用掉的贴纸有

输入
三个平头N,表示小明所怀有的小立方体的个数。N不会当先一千。

多少张。

宗旨要在不一致种方块摆法中挑选出使用贴纸最少的一种,由于要求摆多个三维的物料,那么变量就会用到i,j,h,类似于解长富不定方程,将有着的场地列举出来再判断即可。

9

描述
Minecraft是三个大致三头六臂的沙盒游戏,玩家可以运用游玩内的种种资源开展创办,搭建自个儿的世界。

 

总时间范围: 一千ms内存限制: 65536kB

输入

样例输入
9

Minecraft是3个大致手眼通天的沙盒游戏,玩家可以动用游玩内的种种能源拓展创办,搭建自个儿的世界。

为了幸免再一次枚举,大家可以运用“由小枚举到大的策略”,即每便枚举都使i<=j<=h,那么i,j<=n/3; 

View Code

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

用她深藏已久的贴纸对其开展装裱。如若一张贴纸可以贴满小立方体的1个面。那么,他需求用掉多少张贴纸呢?

在Minecraft中,基本的建造要素是边长为三个单位的立方体,Tony想用N个那种小立方体搭建2个长方体,并用她收藏已久的贴纸对其进展装点。假若一张贴纸能够贴满小立方体的三个面。那么,他索要用掉多少张贴纸呢?

样例输出

 

界定枚举的限量,可以坚实五分之三的频率。

相关文章