Dado un entero positivo N , la tarea es verificar si la suma de los dígitos de N es estrictamente mayor que el producto de los dígitos de N o no. Si se encuentra que es cierto , escriba «Sí» . De lo contrario, escriba “No” .
Ejemplos:
Entrada: N = 1234
Salida: No
Explicación:
La suma de los dígitos de N(= 1234) es = 1 + 2 + 3 + 4 = 10.
El producto de los dígitos de N(= 1234) es 1*2*3 *4 = 24.
Como la suma de los dígitos es menor que el producto de la array. Por lo tanto, imprima No.Entrada: N = 1024
Salida: Sí
Enfoque: siga los pasos a continuación para resolver el problema dado:
- Inicialice dos variables, diga sumOfDigit como 0 y prodOfDigit como 1 que almacena la suma y el producto de los dígitos de N .
- Iterar hasta que N sea mayor que 0 y realizar los siguientes pasos:
- Encuentre el último dígito de N y guárdelo en una variable, digamos rem .
- Incrementa el valor de sumOfDigit por rem .
- Actualice el valor de prodOfDigit como prodOfDigit*rem .
- Después de completar los pasos anteriores, si el valor de sumOfDigit es mayor que prodOfDigit , imprima «Sí» . De lo contrario, escriba “No” .
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program for the above approach #include <iostream> using namespace std; // Function to check if the sum of the digits of N is // strictly greater than the product of the digits of N or // not void check(int n) { // Stores the sum and the product of the digits of N int sumOfDigit = 0; int prodOfDigit = 1; while (n > 0) { // Stores the last digit if N int rem; rem = n % 10; // Increment the value of sumOfDigits sumOfDigit += rem; // Update the prodOfDigit prodOfDigit *= rem; // Divide N by 10 n /= 10; } // Print the result if (sumOfDigit > prodOfDigit) cout << "Yes"; else cout << "No"; } // Driver Code int main() { int N = 1234; check(N); return 0; }
C
// C program for the above approach #include <stdio.h> // Function to check if the sum of the digits of N is // strictly greater than the product of the digits of N or // not void check(int n) { // Stores the sum and the product of the digits of N int sumOfDigit = 0; int prodOfDigit = 1; while (n > 0) { // Stores the last digit if N int rem; rem = n % 10; // Increment the value of sumOfDigits sumOfDigit += rem; // Update the prodOfDigit prodOfDigit *= rem; // Divide N by 10 n /= 10; } // Print the result if (sumOfDigit > prodOfDigit) printf("Yes"); else printf("No"); } // Driver Code int main() { int N = 1234; check(N); return 0; } // This code is contributed by Sania Kumari Gupta
Java
// Java program for the above approach class GFG{ // Function to check if the sum of the // digits of N is strictly greater than // the product of the digits of N or not static void check(int n) { // Stores the sum and the product of // the digits of N int sumOfDigit = 0; int prodOfDigit = 1; while (n > 0) { // Stores the last digit if N int rem; rem = n % 10; // Increment the value of // sumOfDigits sumOfDigit += rem; // Update the prodOfDigit prodOfDigit *= rem; // Divide N by 10 n /= 10; } // Print the result if (sumOfDigit > prodOfDigit) System.out.println("Yes"); else System.out.println("No"); } // Driver code public static void main(String[] args) { int N = 1234; check(N); } } // This code is contributed by abhinavjain194
Python3
# Python3 program for the above approach # Function to check if the sum of the # digits of N is strictly greater than # the product of the digits of N or not def check(n): # Stores the sum and the product of # the digits of N sumOfDigit = 0 prodOfDigit = 1 while n > 0: # Stores the last digit if N rem = n % 10 # Increment the value of # sumOfDigits sumOfDigit += rem # Update the prodOfDigit prodOfDigit *= rem # Divide N by 10 n = n // 10 # Print the result if sumOfDigit > prodOfDigit: print("Yes") else: print("No") # Driver Code N = 1234 check(N) # This code is contributed by jana_sayantan
C#
// C# program for the above approach using System; class GFG{ // Function to check if the sum of the // digits of N is strictly greater than // the product of the digits of N or not static void check(int n) { // Stores the sum and the product of // the digits of N int sumOfDigit = 0; int prodOfDigit = 1; while (n > 0) { // Stores the last digit if N int rem; rem = n % 10; // Increment the value of // sumOfDigits sumOfDigit += rem; // Update the prodOfDigit prodOfDigit *= rem; // Divide N by 10 n /= 10; } // Print the result if (sumOfDigit > prodOfDigit) Console.WriteLine("Yes"); else Console.WriteLine("No"); } // Driver Code public static void Main() { int N = 1234; check(N); } } // This code is contributed by code_hunt.
Javascript
<script> // JavaScript program for the above approach // Function to check if the sum of the // digits of N is strictly greater than // the product of the digits of N or not function check(n) { // Stores the sum and the product of // the digits of N let sumOfDigit = 0; let prodOfDigit = 1; while (n > 0) { // Stores the last digit if N let rem; rem = n % 10; // Increment the value of // sumOfDigits sumOfDigit += rem; // Update the prodOfDigit prodOfDigit *= rem; // Divide N by 10 n = Math.floor(n / 10); } // Print the result if (sumOfDigit > prodOfDigit) document.write("Yes"); else document.write("No"); } // Driver Code let N = 1234; check(N); </script>
No
Complejidad de tiempo: O (log 10 N), ya que estamos recorriendo los dígitos que costarán log 10 N de tiempo.
Espacio auxiliar: O(1), ya que no estamos utilizando ningún espacio adicional.