Count divisors of n that have at-least one digit common with n in Java

JavaObject Oriented ProgrammingProgramming

We are given with a number let’s say, num and the task is to calculate the divisor of a given number thereby count the divisors of num that have at least one digit common with n.

Input − num = 24

Output − Count is 4

Explanation − we will perform the following steps

  • Firstly, calculate the divisors of a given number

    • Divisors of 24 are − 1, 2, 3, 4, 6, 8, 12, 24

  • Secondly, check which divisor have at least one digit that matches with the digits of a number

    • 2, 4, 12, 24 are the divisors that contain the digit that matches with the digits in a number

Input − num = 10

Output − Count is 2

Explanation − we will perform the following steps 

  • Firstly, calculate the divisors of a given number

    • Divisors of 24 are: 1, 2, 5, 10

  • Secondly, check which divisor have at least one digit that matches with the digits of a number

    • 1 and 10 are the divisors that contain the digit that matches with the digits in a number.

Example

 Live Demo

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);
   }
}

Output

If we run the above code we will get the following output −

Enter any number: 24
Count 5
raja
Published on 06-Jun-2020 12:17:07
Advertisements