Comprobar si un número dado N es un número desnudo o no

Dado un número entero N , la tarea es verificar si N es un número desnudo o no.
 

Un número desnudo es un número que es divisible por todos sus dígitos (que deben ser distintos de cero). 
 

Ejemplo: 
 

Entrada: N = 672 
Salida: Sí 
Explicación: 
Dado que 672 es divisible por todos sus tres dígitos 6, 7 y 2. Por lo tanto, la salida es Sí.
Entrada: N = 450 
Salida: No 
Explicación: 
Ya que, 450 no es divisible por 0 (También da excepción). Por lo tanto, la salida es No. 
 

Enfoque: extraiga los dígitos del número uno por uno y verifique estas dos condiciones: 
 

  1. El dígito debe ser distinto de cero, para evitar excepciones.
  2. Y el dígito debe dividir el número N

Cuando ambas condiciones se cumplen con todos los dígitos de N, entonces el número se llama número desnudo.
A continuación se muestra la implementación del enfoque anterior:
 

C++

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

Java

// 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

Python3

# 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

C#

// 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

Javascript

<script>
 
// Javascript program to check if the
// number if Nude number or not
 
// Check if all digits
// of num divide num
function checkDivisbility(num)
{
    // array to store all digits
    // of the given number
    let digit;
    let N = num;
    while (num != 0) {
        digit = num % 10;
        num = Math.floor(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
  
    let N = 128;
 
    let result = checkDivisbility(N);
    if (result)
        document.write("Yes");
    else
        document.write("No");
 
// This code is contributed by Mayank Tyagi
 
</script>
Producción: 

Yes

 

Complejidad de tiempo: O (longitud de N)
 

Publicación traducida automáticamente

Artículo escrito por thakurabhaysingh445 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *