ACM

题目描述

viias想要送给她一些魔方做礼物,现在它有n个魔方,需要拼成一个大长方体包装起来送给她。

为了保证长方体协调,viias想要长方体的表面积面积尽量小。

所以最小表面积是多少呢?

输入

每行一个整数n,代表魔方数,由于viias的生活费限制,0<n<111.

输出

每组数据输出一行,表示需要的包装纸数(立方体魔方,以魔方单面表面积为单位1)。

样例输入

1
4
8

样例输出

6
16
24

提示

 


多组测试数据时需要读到文件尾

 


读懂题目的话可以发现数学语言的题目是:

 


a*b*c=n,a,b,c∈Z+

 


求min(2*(a*b+b*c+a*c))

 


既然a,b,c都是不大于n的整数,只要三个循环遍历枚举abc,当a*b*c=n的时候更新答案就好啦

 


上一句的"="很重要,不要使用">="!一定要把纸包装内部填满!

 

#include <stdio.h>
 
 
int Area(int n){
    int min = 10000;
    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)&&(min > 2*(i*j+j*k+i*k))){
                    min = 2*(i*j+j*k+i*k);
                }
            }
        }
    }
    return min;
}
 
int main(){
    int n;
    while(scanf("%d",&n)!=EOF){
        printf("%d\n",Area(n));
    }
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hugh677

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值