Open In App

Find all digits of given number N that are factors of N

Last Updated : 27 Jan, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

Given a number N, the task is to print the digits of N which divide N.

Example:

Input: N = 234
Output: 2 3

Input: N = 555
Output: 5

Approach:  The idea is to iterate over all the digits of N and check whether that digit divides N or not. Follow the steps below to solve the problem:

  • Initialize the variables tem as N.
  • Traverse over the while loop till tem not equals to 0 and perform the following tasks:
    • Initialize the variable rem as tem%10.
    • If n%rem equals 0 then print rem as the answer.
    • Divide tem by 10.

Below is the implementation of the above approach.

C++




// C++ program for the above approach
#include <iostream>
using namespace std;
 
// Function that will print all the factors
void printDigitFactors(int n)
{
 
    // Storing n into a temporary variable
    int tem = n;
 
    // To store current digit
    int rem;
 
    // Iterating over all the digits
    while (tem != 0) {
 
        // Taking last digit
        int rem = tem % 10;
        if (n % rem == 0) {
            cout << rem << ' ';
        }
 
        // Removing last digit
        tem /= 10;
    }
}
 
// Driver Code:
int main()
{
    int N = 234;
 
    printDigitFactors(N);
}


Java




// Java program for the above approach
import java.io.*;
import java.lang.*;
import java.util.*;
 
class GFG {
 
  // Function that will print all the factors
  static void printDigitFactors(int n)
  {
 
    // Storing n into a temporary variable
    int tem = n;
 
    // To store current digit
    int rem;
 
    // Iterating over all the digits
    while (tem != 0) {
 
      // Taking last digit
      rem = tem % 10;
      if (n % rem == 0) {
        System.out.print(rem + " ");
      }
 
      // Removing last digit
      tem /= 10;
    }
  }
 
  public static void main (String[] args) {
 
    int N = 234;
    printDigitFactors(N);
  }
}
 
// This code is contributed by hrithikgarg03188.


Python3




# Python code for the above approach
 
# Function that will print all the factors
def printDigitFactors(n):
 
    # Storing n into a temporary variable
    tem = n;
 
    # To store current digit
    rem = None
 
    # Iterating over all the digits
    while (tem != 0):
 
        # Taking last digit
        rem = tem % 10;
        if (n % rem == 0):
            print(rem, end= ' ');
 
        # Removing last digit
        tem = tem // 10
     
# Driver Code:
N = 234;
printDigitFactors(N);
 
  # This code is contributed by gfgking


C#




// C# program for the above approach
using System;
class GFG
{
 
  // Function that will print all the factors
  static void printDigitFactors(int n)
  {
 
    // Storing n into a temporary variable
    int tem = n;
 
    // To store current digit
    int rem = 0;
 
    // Iterating over all the digits
    while (tem != 0) {
 
      // Taking last digit
      rem = tem % 10;
      if (n % rem == 0) {
        Console.Write(rem + " ");
      }
 
      // Removing last digit
      tem /= 10;
    }
  }
 
  // Driver Code:
  public static void Main()
  {
    int N = 234;
 
    printDigitFactors(N);
  }
}
 
// This code is contributed by Samim Hossain Mondal.


Javascript




<script>
        // JavaScript code for the above approach
 
        // Function that will print all the factors
        function printDigitFactors(n) {
 
            // Storing n into a temporary variable
            let tem = n;
 
            // To store current digit
            let rem;
 
            // Iterating over all the digits
            while (tem != 0) {
 
                // Taking last digit
                let rem = tem % 10;
                if (n % rem == 0) {
                    document.write(rem + ' ');
                }
 
                // Removing last digit
                tem = Math.floor(tem / 10);
            }
        }
 
        // Driver Code:
        let N = 234;
        printDigitFactors(N);
 
  // This code is contributed by Potta Lokesh
    </script>


 
 

Output

3 2 

 

Time Complexity: O(K), where K is the number of digits in N
Auxiliary Space: O(1).

 



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads