0

编写一个程序,将整数 N 作为输入并打印出(在一行上)N 的所有除数。输入验证:如果 N 是负数(严格小于零),您的程序应显示错误消息并保持要求一个有效的 N(参见下面的示例运行)。

样品运行:

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

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

4

1 回答 1

0

这个任务听起来像家庭作业。这就是为什么我将提出的解决方案不使用任何内置函数的原因。

为了找到给定数字 n 的所有除数,您应该遍历直到 sqrt(N) 的所有数字,如果给定数字i除以 n(ie n%i == 0),您应该将数字i(n/i)除数相加。之后对数组进行排序。如果 n 是完全平方(那么in/i是同一件事),请特别注意。

希望这可以帮助。

于 2012-09-20T17:08:54.027 回答