【问题标题】:Get numbers that cannot be divided by anything获取不能被任何东西除的数字
【发布时间】:2023-03-18 12:08:01
【问题描述】:

如何使用 Java 找出不能被任何其他数字整除的数字?

我有一个 int 数组:

int[] numbers = new int[25];

现在我想遍历这个数组并输出一个新数组中所有不可整除的数字。剩余的数字不应再出现在新数组中。

例如,在 1-25 的范围内,只有数字 [1,3,5,7,11,13,17,19,23] 应作为数组输出。

我该如何编程?

提前致谢!

【问题讨论】:

  • 在数学中他们有特殊的名字......找出名字,你会发现很多例子

标签: java arrays


【解决方案1】:

就像@Selvin 在 cmets 中所说,这些数字有一个名字,它们被称为“素数”。

例如,你可以这样使用:

for (int number : numbers) {
  if (!primeCal(number)) {
     number = null;
  }
}


private static void primeCal(int num) {
    int count = 0;
    for (int i = 1; i <= num; i++) {
       if (num % i == 0) {
            count++;            
       }
    }
    if (count == 2) {
      return true;
    } else {
      return false;     
    }  
 } 

【讨论】:

    【解决方案2】:

    你必须先迭代,然后使用下面的方法来检查它们是否是素数

    public static boolean isPrime(int n) {  
       if (n <= 1) {  
           return false;  
       }  
       for (int i = 2; i < Math.sqrt(n); i++) {  
           if (n % i == 0) {  
               return false;  
           }  
       }  
       return true;
    } 
    

    【讨论】:

      猜你喜欢
      • 2011-09-13
      • 1970-01-01
      • 1970-01-01
      • 2013-11-05
      • 1970-01-01
      • 1970-01-01
      • 2019-10-24
      • 2020-11-21
      • 1970-01-01
      相关资源
      最近更新 更多