12,073,837 members (67,381 online)
Rate this:
See more:
Program to find the sum of digits of a given number until the sum becomes a single digit. (e.g. 12345=>1+2+3+4+5=15=>1+5=6) .
Posted 21-Apr-13 1:50am

Rate this:

Solution 1

This sounds like homework, so no code!
But this is really simple:
1) Create a "total" variable, and set a "working" variable to the value you want to sum.
2) Create a loop, and set the total variable to zero
3) In the loop, add the working variable modulo 10 to the total.
4) Divide the working variable by 10
5) If the working variable is greater than zero then go back round the loop at (3)
6) If the total variable is less than ten, you have the value.
7) Otherwise, set the working variable to the total variable, and go back round the loop at (2)
Rate this:

Solution 2

```class Program
{
static void Main(string[] args)
{
string num = Console.ReadLine();
int sum = DigitSum(Convert.ToInt32(num));
Console.WriteLine("sum:{0}", sum);
}
static private int DigitSum(int num)
{
int sum = 0;
while (num > 0)
{
sum += num % 10;
num /= 10;
}
if (sum > 9)
{
sum = DigitSum(sum);
}
return sum;
}
}
```

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Top Experts
Last 24hrsThis month
 OriginalGriff 579 Dave Kreskowiak 305 CPallini 295 ProgramFOX 270 CHill60 160
 Dave Kreskowiak 2,711 OriginalGriff 2,354 Richard MacCutchan 1,695 CPallini 1,507 CHill60 1,379

Advertise | Privacy | Mobile
Web04 | 2.8.160208.1 | Last Updated 21 Apr 2013