Dado un número, la tarea es encontrar la Suma de dígitos de este número usando argumentos de línea de comando . Ejemplos:
Input: num = 687 Output: 21 Input: num = 12 Output: 3
Acercarse:
- Dado que el número se ingresa como Argumento de línea de comando , no hay necesidad de una línea de entrada dedicada
- Extraiga el número de entrada del argumento de la línea de comando
- Este número extraído estará en tipo de string.
- Convierta este número en un tipo entero y guárdelo en una variable, digamos num
- Declarar una variable para almacenar la suma y establecerla en 0
- Repita los siguientes dos pasos hasta que el número no sea 0
- Obtenga el dígito más a la derecha del número con la ayuda del operador de resto ‘%’ dividiéndolo por 10 y súmelo a la suma.
- Divide el número por 10 con la ayuda del operador ‘/’
- Imprimir o devolver la suma
Programa:
C
// C program to find // the sum of digits of a number // using command line arguments #include <stdio.h> #include <stdlib.h> /* atoi */ // Function to Find the sum of digits int findSumOfDigits(int num) { // Variable to store the // the sum of digits int sum = 0; // Traverse through the number digit by digit while (num > 0) { // Add the last digit of num // to the sum sum = sum + (num % 10); // Remove the last digit from the num num = num / 10; } // Return the sum return sum; } // Driver code int main(int argc, char* argv[]) { int num; // Check if the length of args array is 1 if (argc == 1) printf("No command line arguments found.\n"); else { // Get the command line argument and // Convert it from string type to integer type // using function "atoi( argument)" num = atoi(argv[1]); // Find the sum of digits and print it printf("%d\n", findSumOfDigits(num)); } return 0; }
Java
// Java program to find // the sum of digits of a number // using command line arguments class GFG { // Function to Find the sum of digits public static int findSumOfDigits(int num) { // Variable to store the // the sum of digits int sum = 0; // Traverse through the number digit by digit while (num > 0) { // Add the last digit of num // to the sum sum = sum + (num % 10); // Remove the last digit from the num num = num / 10; } // Return the sum return sum; } // Driver code public static void main(String[] args) { // Check if length of args array is // greater than 0 if (args.length > 0) { // Get the command line argument and // Convert it from string type to integer type int n = Integer.parseInt(args[0]); // Find the sum of digits and print it System.out.println(findSumOfDigits(n)); } else System.out.println("No command line " + "arguments found."); } }
Producción:
Complejidad de tiempo: O (logn)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por RishabhPrabhu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA