números insólitos

Número Insolito es un número N si es divisible por la Suma y por el Producto de los cuadrados de sus dígitos.
Pocos números insólitos son: 
 

111, 11112, 1122112, 111111111, 122121216, 1111112112… 
 

Comprobar si un número es un número insolito

Dado un número N , la tarea es verificar si N es un número insolito o no. Si N es un número insolito, escriba «Sí» , de lo contrario, escriba «No» .
Ejemplos: 
 

Entrada: N = 1122112 
Salida: Sí 
Explicación: 
1122112 es un Número Insolito porque 
la suma de los cuadrados de sus dígitos 1^2 + 1^2 + 2^2 + 2^2 + 1^2 + 1^2 + 2^2 = 16 
el producto de los cuadrados de sus dígitos (1*1*2*2*1*1*2)^2 = 64 
Y 1122112 es divisible por 16 y 64.
Entrada: N = 11 
Salida: No 
Explicación: 

 
 

Planteamiento: Número Insolito es un número N si es divisible por la suma y por el producto de los cuadrados de sus dígitos. Así que encontraremos la suma de los cuadrados de los dígitos de N, el producto de los cuadrados de los dígitos de N y luego comprobaremos si N es divisible tanto por la suma como por el producto o no. Si es divisible, escriba «Sí» , de lo contrario, escriba «No» .
A continuación se muestra la implementación del enfoque anterior:
 

C++

// C++ implementation for the
// above approach
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to check if a number
// is an Insolite numbers
bool isInsolite(int n)
{
    int N = n;
 
    // To store sum of squares of digits
    int sum = 0;
 
    // To store product of
    // squares of digits
    int product = 1;
 
    while (n != 0) {
        // extracting digit
        int r = n % 10;
        sum = sum + r * r;
        product = product * r * r;
        n = n / 10;
    }
 
    return (N % sum == 0)
           && (N % product == 0);
}
 
// Driver Code
int main()
{
    int N = 111;
 
    // Function Call
    if (isInsolite(N))
        cout << "Yes";
    else
        cout << "No";
    return 0;
}

Java

// Java implementation for the
// above approach
class GFG{
     
// Function to check if a number
// is an Insolite numbers
static boolean isInsolite(int n)
{
    int N = n;
 
    // To store sum of squares of digits
    int sum = 0;
 
    // To store product of
    // squares of digits
    int product = 1;
 
    while (n != 0)
    {
         
        // extracting digit
        int r = n % 10;
        sum = sum + r * r;
        product = product * r * r;
        n = n / 10;
    }
 
    return (N % sum == 0) &&
           (N % product == 0);
}
 
// Driver Code
public static void main (String[] args)
{
    int N = 111;
 
    // Function Call
    if (isInsolite(N))
        System.out.print("Yes");
    else
        System.out.print("No");
}
}
 
// This code is contributed by rock_cool

Python3

# Python3 implementation for the
# above approach
 
# Function to check if a number
# is an Insolite numbers
def isInsolite(n):
    N = n;
 
    # To store sum of squares of digits
    sum = 0;
 
    # To store product of
    # squares of digits
    product = 1;
 
    while (n != 0):
         
        # extracting digit
        r = n % 10;
        sum = sum + r * r;
        product = product * r * r;
        n = n // 10;
 
    return ((N % sum == 0) and
            (N % product == 0));
 
# Driver Code
if __name__ == '__main__':
    N = 111;
 
    # Function Call
    if (isInsolite(N)):
        print("Yes");
    else:
        print("No");
 
# This code is contributed by 29AjayKumar

C#

// C# implementation for the
// above approach
using System;
class GFG{
     
// Function to check if a number
// is an Insolite numbers
static bool isInsolite(int n)
{
    int N = n;
 
    // To store sum of squares of digits
    int sum = 0;
 
    // To store product of
    // squares of digits
    int product = 1;
 
    while (n != 0)
    {
         
        // extracting digit
        int r = n % 10;
        sum = sum + r * r;
        product = product * r * r;
        n = n / 10;
    }
 
    return (N % sum == 0) &&
           (N % product == 0);
}
 
// Driver Code
public static void Main()
{
    int N = 111;
 
    // Function Call
    if (isInsolite(N))
        Console.Write("Yes");
    else
        Console.Write("No");
}
}
 
// This code is contributed by Code_Mech

Javascript

<script>
 
// Javascript implementation for the
// above approach
 
 
    // Function to check if a number
    // is an Insolite numbers
    function isInsolite( n) {
        let N = n;
 
        // To store sum of squares of digits
        let sum = 0;
 
        // To store product of
        // squares of digits
        let product = 1;
 
        while (n != 0) {
 
            // extracting digit
            let r = n % 10;
            sum = sum + r * r;
            product = product * r * r;
            n = parseInt(n / 10);
        }
 
        return (N % sum == 0) && (N % product == 0);
    }
 
    // Driver Code
      
        let N = 111;
 
        // Function Call
        if (isInsolite(N))
            document.write("Yes");
        else
            document.write("No");
 
// This code contributed by Rajput-Ji
 
</script>
Producción: 

Yes

 

Complejidad de tiempo: O(n)  
Referencia : http://www.numbersaplenty.com/set/insolite_number/
 

Publicación traducida automáticamente

Artículo escrito por spp____ 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 *