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
icon
Related questions
Question
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)
Transcribed Image Text: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)
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
steps

Step by step

Solved in 3 steps with 2 images

Blurred answer
Knowledge Booster
Computational Systems
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.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning