Python 如何找到输入的除数?
编写一个以整数N作为输入并输出的程序(在 单行)N的所有除数。输入验证:如果N是a 负数(严格小于零),您的程序应该 显示错误消息并持续询问有效的N(请参阅示例运行 下) 样本运行:Python 如何找到输入的除数?,python,python-3.x,Python,Python 3.x,编写一个以整数N作为输入并输出的程序(在 单行)N的所有除数。输入验证:如果N是a 负数(严格小于零),您的程序应该 显示错误消息并持续询问有效的N(请参阅示例运行 下) 样本运行: 我知道如何输入所有的东西,我只是停留在如何做除数部分。我会使用某种嵌套循环还是使用求和数学类型的东西 这项任务听起来像是家庭作业。这就是为什么我将提出的解决方案不使用任何内置函数的原因 为了找到一个给定数字n的所有除数,你应该迭代到sqrt(n)为止的所有数字,如果给定数字i除以n(即n%i==0),你应该将数字i
我知道如何输入所有的东西,我只是停留在如何做除数部分。我会使用某种嵌套循环还是使用求和数学类型的东西 这项任务听起来像是家庭作业。这就是为什么我将提出的解决方案不使用任何内置函数的原因 为了找到一个给定数字n的所有除数,你应该迭代到sqrt(n)为止的所有数字,如果给定数字
i
除以n(即n%i==0
),你应该将数字i
和(n/i)
添加到除数中。然后对数组进行排序。如果n是完美的正方形,要特别小心(那么i
和n/i
是相同的东西)
希望这能有所帮助。此外,您可能应该发布一些代码,到目前为止您尝试了什么?什么在起作用?你至少能告诉我们你在读数字,并确定它们是正的还是负的。@jgritty:家庭作业标签已经被弃用了。所以很明显,如果它是家庭作业,那就不重要了……小抱怨:当你变得危险时,sqrt(N)技巧是至关重要的,但是对于家庭作业来说,这是过度的,表现并不重要,你也不想让自己去验证它是否正确(你应该一直这样做!)。
Enter N: 10
The divisors of N are: 1 2 5 10