Open in App
Not now

# TCS Coding Practice Question | Sum of Digits of a number

• Difficulty Level : Easy
• Last Updated : 11 Jan, 2023

Given a number, the task is to find the Sum of Digits of this number using Command Line Arguments. Examples:

```Input: num = 687
Output: 21

Input: num = 12
Output: 3```

Approach:

• Since the number is entered as Command line Argument, there is no need for a dedicated input line
• Extract the input number from the command line argument
• This extracted number will be in string type.
• Convert this number into integer type and store it in a variable, say num
• Declare a variable to store the sum and set it to 0
• Repeat the next two steps till the number is not 0
• Get the rightmost digit of the number with help of remainder ‘%’ operator by dividing it with 10 and add it to sum.
• Divide the number by 10 with help of ‘/’ operator
• Print or return the sum

Program:

## C

 `// C program to find ` `// the sum of digits of a number ` `// using command line arguments ` ` `  `#include ` `#include /* 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."``); ` `    ``} ` `} `

Output:

• In C:
• In Java:

Time complexity: O(logn)

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up
Related Articles