Write a program that reads several integers and prints the sum of their decimal digits.
Input will consist of several lines each with a number x where 0 ≤ x ≤ 1 000 000 000.
For each line of input, output should contain a line with a number s indicating the sum of the digits in x.
Input is terminated by the end-of-file (EOF).
6
720
1234
98765
6
9
10
35
Your program should be implemented using a “digit sum” function that receives one integer and returns an integer indicating the sum of its digits. Please refer to the information for the chosen language:
def digit_sum(x):
int digit_sum(int x);
digitSum :: Int -> Int
int digit_sum(int x);
public static int DigitSum(int i)
in a public class Program
public static int digitSum(int i)
in a public class DigitSum
function digit_sum(i)
function digit_sum (x)
def digit_sum(i)
Submit your solution to be graded according to the following list:
Here are some hints:
Automated judge: Keep in mind that when your program is submitted it will not be run by a human but instead by an automated judge. Instructions should be followed exactly or the judge will not give you a full score. (And sometimes no score at all!)
Produce output as you go: You do not need to accumulate input and then produce everything at the end. It is enough to produce output as you go. As soon as you read a number, write the corresponding result to the screen.
Detecting the end of file. In this exercise, input is terminated by the end-of-file (EOF). The EOF can be simulated by the “ctrl-D” keystroke on the terminal/console session. Please see “processing input line by line” for details on how to do this.
Processing digits. You can isolate the last digit of an integer by computing the remainder of the division by 10 (a.k.a. modulo). Likewise, you can remove the last digit by performing integer division of a number by 10.
Integer division. Try to use a direct operator for integer division when it is available. However, if your programming language does not provide an integer division operator you can take the floor of the result of fractional division.
try first: repeat triple inc replace
try next: digit-count
Copyright © 2020-2022 Rudy Matela
This text is available under the CC BY-SA 4.0 license.
Originally available on cscx.org/digit-sum