编写一个以整数N作为输入并打印出来的程序(在a上 单行)N的所有除数。输入验证:如果N是a 负数(严格小于零),你的程序应该 显示错误消息并继续询问有效N(请参阅示例运行 下文)。
示例运行:
Enter N: 10
The divisors of N are: 1 2 5 10
我知道如何输入所有内容,我只是坚持如何做除数部分。我会使用某种嵌套循环还是可以使用sum_math类型的东西?
答案 0 :(得分:0)
这项任务听起来像是家庭作业。这就是为什么我建议的解决方案不使用任何内置函数。
为了找到给定数字n的所有除数,你应该遍历所有数字到sqrt(N),如果给定数字i
除以n(即n%i == 0
),你应该将数字i
和(n/i)
添加到除数。之后对数组进行排序。如果n是完美的正方形(那么i
和n/i
是相同的),请特别小心。
希望这有帮助。