Check whether a given number N is a Nude Number or not

Given an integer N, the task is to check whether N is a Nude number or not.

A Nude number is a number that is divisible by all of its digits (which should be nonzero).

Example:

Input: N = 672
Output: Yes
Explanation:
Since, 672 is divisible by all of its three digits 6, 7 and 2. Therefore the output is Yes.

Input: N = 450
Output: No
Explanation:
Since, 450 is not divisible by 0 (Also it gives exception). Therefore the output is No.



Approach: Extract digits from number one by one and check these two conditions:

  1. The digit must be non-zero, to avoid exception
  2. And the digit must divide the number N

When both these condition is satisfied by all digits of N, then the number is called Nude number.

Below is the implementation of the above approach:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to check if the
// number if Nude number or not
  
#include <iostream>
using namespace std;
  
// Check if all digits
// of num divide num
bool checkDivisbility(int num)
{
    // array to store all digits
    // of the given number
    int digit;
    int N = num;
    while (num != 0) {
        digit = num % 10;
        num = num / 10;
  
        // If any of the condition
        // is true for any digit
        // Then N is not a nude number
        if (digit == 0 || N % digit != 0)
            return false;
    }
  
    return true;
}
  
// Driver code
int main()
{
    int N = 128;
  
    bool result = checkDivisbility(N);
    if (result)
        cout << "Yes";
    else
        cout << "No";
  
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to check if the
// number if Nude number or not
import java.util.*;
class GFG{
  
// Check if all digits
// of num divide num
static boolean checkDivisbility(int num)
{
    // array to store all digits
    // of the given number
    int digit;
    int N = num;
    while (num != 0
    {
        digit = num % 10;
        num = num / 10;
  
        // If any of the condition
        // is true for any digit
        // Then N is not a nude number
        if (digit == 0 || N % digit != 0)
            return false;
    }
    return true;
}
  
// Driver code
public static void main(String[] args)
{
    int N = 128;
  
    boolean result = checkDivisbility(N);
    if (result)
        System.out.print("Yes");
    else
        System.out.print("No");
}
}
  
// This code is contributed by 29AjayKumar

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 program to check if the
# number if nude number or not
  
# Check if all digits
# of num divide num
def checkDivisbility(num):
      
    # Array to store all digits
    # of the given number
    digit = 0
    N = num
      
    while (num != 0):
        digit = num % 10
        num = num // 10
  
        # If any of the condition
        # is true for any digit
        # then N is not a nude number
        if (digit == 0 or N % digit != 0):
            return False
  
    return True
  
# Driver code
if __name__ == '__main__':
      
    N = 128
  
    result = checkDivisbility(N)
    if (result):
        print("Yes")
    else:
        print("No")
  
# This code is contributed by mohit kumar 29

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to check if the
// number if Nude number or not
using System;
class GFG{
  
// Check if all digits
// of num divide num
static bool checkDivisbility(int num)
{
    // array to store all digits
    // of the given number
    int digit;
    int N = num;
    while (num != 0) 
    {
        digit = num % 10;
        num = num / 10;
  
        // If any of the condition
        // is true for any digit
        // Then N is not a nude number
        if (digit == 0 || N % digit != 0)
            return false;
    }
    return true;
}
  
// Driver code
public static void Main()
{
    int N = 128;
  
    bool result = checkDivisbility(N);
    if (result)
        Console.Write("Yes");
    else
        Console.Write("No");
}
}
  
// This code is contributed by Nidhi_biet

chevron_right


Output:

Yes

Time complexity: O( length of N )

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up


If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.