Dado un número N , la tarea es verificar si N es un Número Amenable o no. Si N es un número disponible, escriba «Sí» , de lo contrario, escriba «No» .
Los números susceptibles son números si existe un conjunto múltiple de enteros cuyo tamaño, suma y producto es igual al número.
Por ejemplo, 8 es un Número Amenable porque hay un conjunto múltiple de números enteros {-1, -1, 1, 1, 1, 1, 2, 4} cuyo tamaño, suma y producto es 8.
Ejemplos:
Entrada: N = 8
Salida: Sí
Explicación:
8 es un Número Amenable porque hay un conjunto múltiple de enteros {-1, -1, 1, 1, 1, 1, 2, 4} cuyo tamaño, suma y producto es 8.
Entrada: N = 30
Salida: No
Explicación:
30 no es un Número Amenable porque no existe un multiconjunto de enteros cuyo tamaño, suma y producto sea 30.
Enfoque:
Los primeros Números Amenables son 1, 5, 8, 9, 12, 13, 16, 17, 20, 21….. que se pueden representar como la forma 4K o 4K + 1 .
Por lo tanto, cualquier número N de la forma 4K o 4K + 1 es un Número Amenable.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program for the above approach #include <bits/stdc++.h> using namespace std; // Function to check if N // is Amenable number bool isAmenableNum(int N) { // Return true if N is of the form // 4K or 4K + 1 return (N % 4 == 0 || (N - 1) % 4 == 0); } // Driver Code int main() { // Given Number int n = 8; // Function Call if (isAmenableNum(n)) cout << "Yes"; else cout << "No"; return 0; }
Java
// Java program for the above approach class GFG{ // Function to check if N // is Amenable number static boolean isAmenableNum(int N) { // Return true if N is of the form // 4K or 4K + 1 return (N % 4 == 0 || (N - 1) % 4 == 0); } // Driver code public static void main(String[] args) { int n = 8; if (isAmenableNum(n)) { System.out.println("Yes"); } else { System.out.println("No"); } } } // This code is contributed by shubham
Python3
# Python3 program for the above approach import math # Function to check if N # is Amenable number def isAmenableNum(N): # Return true if N is of the # form 4K or 4K + 1 return (N % 4 == 0 or (N - 1) % 4 == 0); # Driver code # Given number N = 8; # Function call if (isAmenableNum(N)): print("Yes"); else: print("No"); # This code is contributed by rock_cool
C#
// C# program for the above approach using System; class GFG{ // Function to check if N // is Amenable number static bool isAmenableNum(int N) { // Return true if N is of the form // 4K or 4K + 1 return (N % 4 == 0 || (N - 1) % 4 == 0); } // Driver code public static void Main(String[] args) { int n = 8; if (isAmenableNum(n)) { Console.WriteLine("Yes"); } else { Console.WriteLine("No"); } } } // This code is contributed by amal kumar choubey
Javascript
<script> // Javascript program for the above approach // Function to check if N // is Amenable number function isAmenableNum( N) { // Return true if N is of the form // 4K or 4K + 1 return (N % 4 == 0 || (N - 1) % 4 == 0); } // Driver code let n = 8; if (isAmenableNum(n)) { document.write("Yes"); } else { document.write("No"); } // This code is contributed by Rajput-Ji. </script>
Yes
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)