Find the logic error(s) in the following recursive function, and explain how to correct it (them). This function should find the sum of the values from 0 to n. In [3]: def sum(n): if n == 0: ...: return 0 else: return n + sum(n)
Find the logic error(s) in the following recursive function, and explain how to correct it (them). This function should find the sum of the values from 0 to n. In [3]: def sum(n): if n == 0: ...: return 0 else: return n + sum(n)
C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter15: Recursion
Section: Chapter Questions
Problem 7SA
Related questions
Question
Expert Solution
Step 1
def sum(n):
if n == 0:
return 0
else:
return n + sum(n)
Logical errors are
If n == 0 then return 0 is fine
What if n is less then 0
So use condition like if n<=0
If(n<=0)
return n;
else
return n+sum(n) ;
Here instead of sum(n) use sum(n-1)
So it will used all but one number every time else it keep on adding same number
Use like this
return n + sum(n-1) ;
So it will add every recursion time
n means last number
and n-1 is last but one number
Step by step
Solved in 3 steps with 2 images
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning