计算Java中与n至少有一位相同的n的除数

我们给定一个数字,即num,任务是计算给定数字的除数,从而计算num的除数至少与n相同。

输入-num = 24

输出-计数为4

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

  • 首先,计算给定数的除数

    • 24的除数是− 1,2,3,4,6,8,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