繁体   English   中英

添加从列表返回的元素

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM