我有一个给定的号码。如何找到该数字的因数(例如,数字 15 的因数为 5 和 3)?这是我尝试过的代码:
int factor1 = 2;
while ((a % factor1 != 0) && (a >= factor1)) {
d++;
}
if (factor1 == a){
d = 1;
}
但这只给了我最小的因子(即a始终= 3)。我想获得一组随机因素。
最佳答案
使用模运算符 (%
) 从 1 到 N 循环遍历每个数字。如果n%currentNumber==0
,它们就是一个因子。下面,我使用 for
循环执行此操作,输出找到的每个因子。
int number=15;
for(int i = 1; i <= number; i++){
if(number%i==0){
System.out.println("Found factor: " + i);
}
}
正如 Theo 在这篇文章的评论中所说,您还可以使用 number/2
,并任意包含 1 和 number
。
int number=2229348;
System.out.println("Found factor: " + 1);
for(int i = 2; i <= number/2; i++){
if(number%i==0){
System.out.println("Found factor: " + i);
}
}
System.out.println("Found factor: " + number);
关于java - 在Java中如何找到给定数字的随机因子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33743043/