File tree Expand file tree Collapse file tree 4 files changed +76
-0
lines changed
Logic Building/Sum of Digits of a Number Expand file tree Collapse file tree 4 files changed +76
-0
lines changed Original file line number Diff line number Diff line change
1
+ """Iterative Approach"""
2
+
3
+
4
+ def sum_of_digits (n : int ) -> int :
5
+ """
6
+ >>> sum_of_digits(12345)
7
+ 15
8
+ >>> sum_of_digits(0)
9
+ 0
10
+ >>> sum_of_digits(9999)
11
+ 36
12
+ """
13
+ sum = 0
14
+ while n != 0 :
15
+ last = n % 10
16
+ sum += last
17
+ n //= 10
18
+ return sum
19
+
20
+
21
+ if __name__ == "__main__" :
22
+ from doctest import testmod
23
+
24
+ testmod (verbose = True )
Original file line number Diff line number Diff line change
1
+ """Recursive Approach"""
2
+
3
+
4
+ def sum_of_digits (n : int ) -> int :
5
+ """
6
+ >>> sum_of_digits(12345)
7
+ 15
8
+ >>> sum_of_digits(0)
9
+ 0
10
+ >>> sum_of_digits(9999)
11
+ 36
12
+ """
13
+ if n == 0 :
14
+ return 0
15
+ return n % 10 + sum_of_digits (n // 10 )
16
+
17
+
18
+ if __name__ == "__main__" :
19
+ from doctest import testmod
20
+
21
+ testmod (verbose = True )
Original file line number Diff line number Diff line change
1
+ """Taking Input Number as String"""
2
+
3
+
4
+ def sum_of_digits (s : str ) -> int :
5
+ """
6
+ >>> sum_of_digits("12345")
7
+ 15
8
+ >>> sum_of_digits("0")
9
+ 0
10
+ >>> sum_of_digits("9999")
11
+ 36
12
+ >>> sum_of_digits("1234567890")
13
+ 45
14
+ >>> sum_of_digits("123456789123456789123422")
15
+ 104
16
+ """
17
+ sum : int = 0
18
+ for i in range (len (s )):
19
+ digit : int = ord (s [i ]) - ord ("0" )
20
+ sum += digit
21
+ return sum
22
+
23
+
24
+ if __name__ == "__main__" :
25
+ from doctest import testmod
26
+
27
+ testmod (verbose = True )
Original file line number Diff line number Diff line change
1
+ ## Sum_of_Digits_of_a_Number Mehod
2
+ - Iterative Approach
3
+ - Recursive Approach
4
+ - Taking Input Number as String
You can’t perform that action at this time.
0 commit comments