繁体   English   中英

如何找到n次因子的因子

[英]How to find factors of factors of a number n times

假设我有一个数字 10 第 1 步:找到 10 -> 1,2,5,10 的因数 第 2 步:我需要找到每个 1,2,5,10 的因数。 所以它将是数组 -> 1,1,2,1,5,1,2,5,10 第 3 步:现在我需要继续查找数组中每个数字的因子这将 go 重复 n 次。

有谁知道如何用最少的时间和空间来做到这一点

  1. 编写你自己的factor function 找到一个数的因数
  2. 使用flatMap将您的 function 应用于数字数组
  3. 循环第 2 步(使用简单的 for 循环)重复n次。

请参阅flatMap的文档: https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#flatMap-java.util.ZC1C425268E68385D1AB5A5074Fction.

第 1 步:编写具有以下签名的方法。

public List<Integer> generateFactors(List<Integer> numbers)

第二步:调用这个方法N次。

List<Integer> numbers = new ArrayList<>();
numbers.add(10);

for (int i = 0; i < n; i++) {
    numbers = generateFactors(numbers);
}

第 3 步:打印列表。

System.out.println(Arrays.toString(list.toArray()));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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