Showing posts with label Number divisible by no of digit of the same number. Show all posts
Showing posts with label Number divisible by no of digit of the same number. Show all posts

Number divisible by no of digit of the same number.

/* Given an integer,N, traverse its digits(d1,d2,..., dn) and determine how many digits evenly divide N(i.e.: count the number of times N divided by each digit di has a remainder of 0). Print the number of evenly divisible digits.

      Note: Each digit is considered to be unique, so each occurrence of the same evenly divisible digit should be counted(i.e.: for N=111 , the answer is 3).
      Input Format
      The first line is an integer, T, indicating the number of test cases.
      The T subsequent lines each contain an integer, N .
      Constraints
      1<=T<=15
      0<=N<=10^9
      Output Format
      For every test case, count and print(on a new line) the number of digits in N that are able to evenly divide N.
      Sample Input
      2
      12
      1012
      Sample Output
      2
      3
      Explanation
      The number 12  is broken into two digits,1 and 2. When 12 is divided by either of those digits, the calculation's remainder is 0 ; thus, the number of evenly-divisible digits in 12 is 2 .
      The number 1012 is broken into four digits ,1 , 0, 1, and 2. 1012 is evenly divisible by its digits 1, 1, and 2, but it is not divisible by 0 as 1012 division by zero is undefined; thus, our count of evenly divisible digits 1012 is 3 .

    */



   public class FindDigit
    {
        public void GetnoOfDigit()
        {
            int t = Convert.ToInt32(Console.ReadLine());
            for (int a0 = 0; a0 < t; a0++)
            {
                int n = Convert.ToInt32(Console.ReadLine());
                int temp = n, count=0;
                while (temp > 0)
                {
                 
                    int d = temp % 10;
                    if (isNumberDivisiblebyDigit(n, d))
                    {
                        count++;
                    }
                    temp = temp / 10;
                }

                Console.WriteLine(count);
            }
        }

        private bool isNumberDivisiblebyDigit(int n, int d)
        {
            return d==0 || n==d? false:n % d == 0;
        }


    }
}