当前位置: 首页 > news >正文

蓝桥杯入门即劝退(二十三)货物摆放问题

欢迎===关注===点赞===评论,共同学习,共同进步!

------持续更新蓝桥杯入门系列算法实例--------

如果你也喜欢Java和算法,欢迎订阅专栏共同学习交流!

你的点赞、关注、评论、是我创作的动力!

-------希望我的文章对你有所帮助--------

专栏蓝桥杯入门系列

 

 一、题目描述

小蓝有一个超大的仓库,可以摆放很多货物。

现在,小蓝有 nn 箱货物要摆放在仓库,每箱货物都是规则的正方体。小蓝规定了长、宽、高三个互相垂直的方向,每箱货物的边都必须严格平行于长、宽、高。

小蓝希望所有的货物最终摆成一个大的长方体。即在长、宽、高的方向上分别堆 LL、WW、HH 的货物,满足 n=L×W×Hn=L×W×H。

给定 nn,请问有多少种堆放货物的方案满足要求。

例如,当 n=4n=4 时,有以下 66 种方案:1×1×4、1×2×2、1×4×1、2×1×2、2×2×1、4×1×11×1×4、1×2×2、1×4×1、2×1×2、2×2×1、4×1×1。

请问,当 n=2021041820210418(注意有 16 位数字)时,总共有多少种方案?

提示:建议使用计算机编程解决问题。

二、解题思路

1、由于给出的数字已经超出了int的最大范围,因此选择使用Long整型

2、按题意无非就是求该数字的非重复的三个因数。

3、如果使用暴力解法,运行会报错,因此必须缩小范围

4、缩小范围可以对n进行开平方,使用sqrt()方法。

5、将n的因数存储进一个列表中。

5、再次取商获得下一个因数,如:15/3=5,那么3、5都是其因数;且不能是重复的,如9/3=3,这里两个数如果都add则是重复了,因此要考虑去掉后者。

6、最后一个三重循环求解即可。

7、最后答案2430

 三、代码实现

public static void main(String[] args) {Long n=new Long("2021041820210418");//创建Long型,注意是字符串形式int count=0;ArrayList<Long> res=new ArrayList();for (long i=1;i<Math.sqrt(n);i++){if (n%i==0) {res.add(i);//添加一个因数if (n/i!=i)//非重复即再次添加res.add(n/i);}}for (long i:res)for (long k:res)for (long m:res){if (i*k*m==n)count++;}System.out.print(count);}

发文不易,恳请大佬们高抬贵手!


点赞:随手点赞是种美德,是大佬们对于本人创作的认可!


评论:往来无白丁,是你我交流的的开始!


收藏:愿君多采撷,是大佬们对在下的赞赏!

http://www.lryc.cn/news/22581.html

相关文章:

  • 经验之谈——指标异常了怎么办?
  • 影视领域解说电影怎样做才会更加出彩?
  • 【Spring6】| Spring对IoC的实现(核心重点)
  • 部门来了个测试工程师,听说是00后,实在是太卷了.....
  • 冲冲冲,力扣javascript刷题——数组总结
  • 使用kotlin编写html dsl框架
  • 【谷粒学院】MybatisPlus(1~17)
  • C++的输入输出
  • RNN相关知识总结
  • 2. 应用C/C++编写程序
  • Spring Boot 统一功能处理(用户登录权限效验-拦截器、异常处理、数据格式返回)
  • oracle存储过程的使用
  • 一些无线通信系统模型的概念
  • GAIDC 2023盛会迎来大模型论坛“主场”,百度飞桨护航大模型产业发展
  • Python编写GUI界面案例:实现免费下载器
  • 我的 System Verilog 学习记录(6)
  • SAP 常见问题大全及问题解决大全
  • 10.Quartz实现定时打分 热帖排行
  • pandas 读取Excel 批量转换时间戳
  • 绕过检测之Executor内存马浅析(内存马系列篇五)
  • 《C++模板进阶》
  • 【项目管理】项目进度管理中的逻辑关系
  • ARM的汇编指令集
  • @font-face用法超详细讲解
  • [oeasy]python0095_乔布斯求职_雅达利_atari_breakout_打砖块_布什内尔_游戏机_Jobs
  • 全景极简印度史
  • 《设计模式》模板方法
  • Linux环境内存管理——链表
  • String、StringBuffer、StringBuilder类
  • 在VScode中添加Linux中的Docker容器中的Python解释器