【蓝桥杯】货物摆放 Java

博客探讨了小蓝如何将n箱正方体货物按照特定规则摆放在仓库中,通过数学计算分析n=a*b*c的组合。文章指出在计算排列方式时存在一个错误,即aab型排列只有三种,通过修复此错误得到了正确答案2430,但作者的答案仍为2436。代码部分展示了如何找出货物边长的因子组合,并计算不同排列的数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


import java.util.ArrayList;
import java.util.HashSet;
import java.util.Objects;

public class Main_08 {
    /**
     * 小蓝有一个超大的仓库,可以摆放很多货物。
     * 现在,小蓝有 nn 箱货物要摆放在仓库,每箱货物都是规则的正方体。
     * 小蓝规定了长、宽、高三个互相垂直的方向,每箱货物的边都必须严格平行于长、宽、高。
     * 分析:n=a*b*c
     * 正确答案:2430     我的答案:  2436
     * BUG:   a a b型只有三种排列方式  用count记录该类型
     * 经过修改后:  正确答案:2430     我的答案:  2436   
     */
    public static void main(String[] args) {
        long num=2021041820210418l;
//        long num = 4;
        long square_root_num = (long) Math.pow(num, 0.5);
        ArrayList list_a = new ArrayList();
        //储存abc的组合
        HashSet<factor> factors = new HashSet<factor>();
        //储存num的因子   a
        for (long i = 1; i <= square_root_num; i++) {
            if (num % i == 0) {
                list_a.add(i);
            }
        }
        //Sy
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值