在Java中统计n的因数中至少与n有一个公共数字的因数个数


给定一个数字,例如num,任务是计算给定数字的因数,并统计其中至少与n有一个公共数字的因数个数。

输入 - num = 24

输出 - 个数为4

说明 - 我们将执行以下步骤 -

  • 首先,计算给定数字的因数

    • 24的因数为 - 1, 2, 3, 4, 6, 8, 12, 24

  • 其次,检查哪些因数至少有一个数字与该数字的数字匹配

    • 2, 4, 12, 24 是包含与数字中数字匹配的数字的因数

输入 - num = 10

输出 - 个数为2

说明 - 我们将执行以下步骤 -

  • 首先,计算给定数字的因数

    • 24的因数为: 1, 2, 5, 10

  • 其次,检查哪些因数至少有一个数字与该数字的数字匹配

    • 1 和 10 是包含与数字中数字匹配的数字的因数。

示例

实时演示

package test;
import java.util.*;
import java.util.List;
import java.util.Scanner;
public class Testdigit{
   static int digitCheck(int m,int arr[]){
      while (m > 0){
         if (arr[m % 10]==1){
            return(1);
         }
         m = m / 10;
      }
      return(0);
   }
   public static void main (String[] args){
      Scanner scan=new Scanner(System.in);
      int n=scan.nextInt();
      int arr[] = new int[10];
      int m = n;
      while (m > 0){
         arr[m % 10] = 1;
         m = m / 10;
      }
      int count = 0;
      for (int i = 1; i <= Math.sqrt(n);i++){
         if (n % i == 0){
            if (digitCheck(i, arr)==1){
               count++;
            }
            if (n / i != i){
               if (digitCheck(n/i, arr)==1){
                  count++;
               }
            }
         }
      }
      System.out.println(ans);
   }
}

输出

如果我们运行以上代码,我们将得到以下输出 -

Enter any number: 24
Count 5

更新于: 2020年6月6日

163 次查看

开启你的职业生涯

通过完成课程获得认证

开始学习
广告