sum of digits until single digit in python code example
Example 1: python sum of digits
def sum_digits(n):
s = 0
while n:
s += n % 10
n
return s
Example 2: To add all the digits of a number till you get a single digit.
#include<bits/stdc++.h>
using namespace std;
int digSum(int n)
{
if (n == 0)
return 0;
return (n % 9 == 0) ? 9 : (n % 9);
}
int main()
{
int n = 9999;
cout<<digSum(n);
return 0;
}
Example 3: sum of digits in a number python
digit_sum = lambda s: sum(int(digit) for digit in str(s)) #without recursion
#sum of digits using recursion
dsum = 0 # we define dsum outside of the function so its value isn't reset every time the function gets called recursivley
def rdigit_sum(s):
global dsum # making dsum 'global' allows us to use it a function
if s: # checks if s has digits to add to dsum
dsum += s%10 # adds the current units digit to dsum
s = s
else: # if there are no digits left
s = dsum # this block reassigns s to dsum, then resets dsum to 0 so dsum doesn't already have a value if this function is called more than once in a program
dsum = 0
return s
return rdigit_sum(s) # this is the 'recursive' part of the program that calls the function again