当前位置:网站首页>货物摆放问题
货物摆放问题
2022-07-07 10:41:00 【算法与编程之美】
1.问题
小蓝有一个超大的仓库,可以摆放很多货物。
现在,小蓝有n箱货物要摆在仓库,每箱货物都是规则的正方体。小蓝规定了长、宽、高三个互相垂直的方向,每箱货物的边都必须严格平行于长、宽、高。
小兰希望所有的货物最终摆成一个大的立方体。即在长、宽、高的方向上分别堆积L、W、H的货物,满足n=L*W*H。
例如,当n=4时,有以下6种方案:1*1*4、1*2*2、1*4*1、2*1*2、2*2*1、4*1*1.
请问,当n=2021041820210418时,总共有多少种方法?
2.算法描述
首先写出n的值,然后创建一个列表ans,变量i从1遍历到n开平方取整后的数,如果n对i求余为0,就将i和n对i整除的向下取整添加到ans列表,随后以元组形式记录符合条件的每种方案,利用set()函数去重,分别利用三次循环在ans里面取三个数,如果该三个数相乘等于n,则将这三个加到set元素集中,最后输出该元素集的长度即为该题目的答案。
3.实验结果与讨论
通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。
代码清单 1
n = 2021041820210418 ans = [] for i in range(1,int(n**0.5)+1): if n % i == 0: ans.append(i) ans.append(n//i) case = set() for a in ans: for b in ans: for c in ans: if a * b * c == n: case.add((a,b,c)) print(len(case)) |
4 结语
本文涉及到了内置set函数、for循环、if条件语句的判断以及元组,本文中的“**”是次方的意思,“//”是一个算数运算符,表示整数除法,可以返回商的整数部分(向下取整),进一步巩固了这些知识点,通过实验、实践等证明提出的方法是有效的,是能够解决开始提出的问题。
边栏推荐
猜你喜欢
Airserver automatically receives multi screen projection or cross device projection
【统计学习方法】学习笔记——提升方法
leetcode刷题:二叉树26(二叉搜索树中的插入操作)
Zhimei creative website exercise
2022广东省安全员A证第三批(主要负责人)考试练习题及模拟考试
Preorder, inorder and postorder traversal of binary tree
Importance of database security
How to apply @transactional transaction annotation to perfection?
Leetcode skimming: binary tree 21 (verifying binary search tree)
Static vxlan configuration
随机推荐
Airserver automatically receives multi screen projection or cross device projection
利用栈来实现二进制转化为十进制
test
CMU15445 (Fall 2019) 之 Project#2 - Hash Table 详解
Pule frog small 5D movie equipment | 5D movie dynamic movie experience hall | VR scenic area cinema equipment
visual stdio 2017关于opencv4.1的环境配置
Layer pop-up layer closing problem
[crawler] avoid script detection when using selenium
Aike AI frontier promotion (7.7)
爱可可AI前沿推介(7.7)
有什么类方法或是函数可以查看某个项目的Laravel版本的?
2022 practice questions and mock examination of the third batch of Guangdong Provincial Safety Officer a certificate (main person in charge)
Experiment with a web server that configures its own content
免费手机号码归属地API查询接口
Preorder, inorder and postorder traversal of binary tree
Leetcode brush question: binary tree 24 (the nearest common ancestor of binary tree)
2022 examination questions and online simulation examination for safety production management personnel of hazardous chemical production units
MySQL导入SQL文件及常用命令
[Q&A]AttributeError: module ‘signal‘ has no attribute ‘SIGALRM‘
The IDM server response shows that you do not have permission to download the solution tutorial