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>
Yes
Complejidad de tiempo: O(n)
Referencia : http://www.numbersaplenty.com/set/insolite_number/