[英]Add Elements Returned from a List
我有一种算法,该算法使用Java中这样声明的List
:
public static List<Integer> primeFactors(int numbers) {
int n = numbers;
List<Integer> factors = new ArrayList<Integer>();
for (int i = 2; i <= n / i; i++) {
while (n % i == 0) {
factors.add(i);
n /= i;
}
}
if (n > 1) {
factors.add(n);
}
return factors;
}
我想做的就是获取此函数返回的素数并添加它们。 我知道我可以用
for (Integer integer : primeFactors(NUMBER))
在添加到List
每个素数时执行某项操作,因此我猜答案将是在添加它们时遵循的内容。 这样的事情可能吗?
感谢您提供的所有帮助。
因此,基本上在循环外有一个变量,然后您可以执行以下操作:
List list = primeFactors(NUMBER);
int sum = 0;
for(Integer number : list){
sum += number;
}
在循环的最后,sum将包含您想要的数字!
您可以在算法中添加所需的元素,因为您已经在这些元素上进行了迭代。 该函数将为primeFactors(65)返回18-> 5 * 13
public static void main(String[] args) {
int sumOfPrimeFactors = primeFactors(65);
System.out.println(sumOfPrimeFactors);
}
public static int primeFactors(int numbers) {
int sum = 0;
int n = numbers;
int i;
for (i = 2; i <= n / i; i++) {
while (n % i == 0) {
sum += i;
n /= i;
}
}
if (n > 1) {
sum += n;
}
return sum;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.