网站网页跳转,如何做网站互链规则,企业信用信息公示系统年报怎么填,做一人网站要多少钱欢迎关注点赞评论#xff0c;共同学习#xff0c;共同进步#xff01;
------持续更新蓝桥杯入门系列算法实例--------
如果你也喜欢Java和算法#xff0c;欢迎订阅专栏共同学习交流#xff01;
你的点赞、关注、评论、是我创作的动力#xff01;
-------希望我的文章…欢迎关注点赞评论共同学习共同进步
------持续更新蓝桥杯入门系列算法实例--------
如果你也喜欢Java和算法欢迎订阅专栏共同学习交流
你的点赞、关注、评论、是我创作的动力
-------希望我的文章对你有所帮助-------- 专栏蓝桥杯入门系列 一、题目描述
小蓝有一个超大的仓库可以摆放很多货物。
现在小蓝有 nn 箱货物要摆放在仓库每箱货物都是规则的正方体。小蓝规定了长、宽、高三个互相垂直的方向每箱货物的边都必须严格平行于长、宽、高。
小蓝希望所有的货物最终摆成一个大的长方体。即在长、宽、高的方向上分别堆 LL、WW、HH 的货物,满足 nL×W×HnL×W×H。
给定 nn请问有多少种堆放货物的方案满足要求。 例如当 n4n4 时有以下 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。 请问当 n2021041820210418注意有 16 位数字时总共有多少种方案
提示建议使用计算机编程解决问题。
二、解题思路 1、由于给出的数字已经超出了int的最大范围因此选择使用Long整型。 2、按题意无非就是求该数字的非重复的三个因数。 3、如果使用暴力解法运行会报错因此必须缩小范围。 4、缩小范围可以对n进行开平方使用sqrt方法。 5、将n的因数存储进一个列表中。 5、再次取商获得下一个因数如15/35那么3、5都是其因数且不能是重复的如9/33,这里两个数如果都add则是重复了因此要考虑去掉后者。 6、最后一个三重循环求解即可。 7、最后答案2430 三、代码实现
public static void main(String[] args) {Long nnew Long(2021041820210418);//创建Long型注意是字符串形式int count0;ArrayListLong resnew ArrayList();for (long i1;iMath.sqrt(n);i){if (n%i0) {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*mn)count;}System.out.print(count);} 发文不易恳请大佬们高抬贵手 点赞随手点赞是种美德是大佬们对于本人创作的认可 评论往来无白丁是你我交流的的开始 收藏愿君多采撷是大佬们对在下的赞赏