我怎样才能找到输入的除数?

时间:2012-09-20 16:22:55

标签: python python-3.x

  

编写一个以整数N作为输入并打印出来的程序(在a上   单行)N的所有除数。输入验证:如果N是a   负数(严格小于零),你的程序应该   显示错误消息并继续询问有效N(请参阅示例运行   下文)。

     

示例运行:

 Enter N: 10
 The divisors of N are: 1 2 5 10

我知道如何输入所有内容,我只是坚持如何做除数部分。我会使用某种嵌套循环还是可以使用sum_math类型的东西?

1 个答案:

答案 0 :(得分:0)

这项任务听起来像是家庭作业。这就是为什么我建议的解决方案不使用任何内置函数。

为了找到给定数字n的所有除数,你应该遍历所有数字到sqrt(N),如果给定数字i除以n(即n%i == 0),你应该将数字i(n/i)添加到除数。之后对数组进行排序。如果n是完美的正方形(那么in/i是相同的),请特别小心。

希望这有帮助。