您的位置:首页 > 其它

期末考试-Minecraft(算法基础 第10周)

2016-06-24 10:28 295 查看
问题描述:



分析

这道题相对简单,而且数也不大。这里可以先把所有可能的结果都计算并保存在了数组里,没进一个输入数据直接输出结果。

源码

#include <iostream>
using namespace std;

int n[1001];
void fun() {
for (int k=1; k<=1000; k++){
int minarea=100000;
for (int len=1; len<=k; len++) {
if (k%len==0) {
int maxwi=k/len;
for(int wi=1; wi<=maxwi; wi++) {
if (maxwi%wi==0) {
int hi=maxwi/wi;
int area=(len*wi+len*hi+wi*hi)*2;
if (minarea>area) {
minarea=area;
}
}
}
}
}
n[k]=minarea;
}
}

int main() {
int c;
cin >> c;
fun();
int i;
while(c--) {
cin >> i;
cout << n[i] << endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: