Computer Networking: A Top-Down Approach (7th Edition)
Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN: 9780133594140
Author: James Kurose, Keith Ross
Publisher: PEARSON
Bartleby Related Questions Icon

Related questions

Question
[画像:**Write the definition of a recursive function** ```c int simpleSqrt(int n) ``` The function returns the integer square root of `n`, meaning the biggest integer whose square is less than or equal to `n`. You may assume that the function is always called with a nonnegative value for `n`. Use the following algorithm: - If `n` is 0 then return 0. - Otherwise, call the function recursively with `n-1` as the argument to get a number `t`. Check whether or not `t+1` squared is strictly greater than `n`. Based on that test, return the correct result. For example, a call to `simpleSqrt(8)` would recursively call `simpleSqrt(7)` and get back 2 as the answer. Then we would square (2+1) = 3 to get 9. Since 9 is bigger than 8, we know that 3 is too big, so return 2 in this case. On the other hand, a call to `simpleSqrt(9)` would recursively call `simpleSqrt(8)` and get back 2 as the answer. Again we would square (2+1) = 3 to get back 9. So 3 is the correct return value in this case.]
expand button
Transcribed Image Text:**Write the definition of a recursive function** ```c int simpleSqrt(int n) ``` The function returns the integer square root of `n`, meaning the biggest integer whose square is less than or equal to `n`. You may assume that the function is always called with a nonnegative value for `n`. Use the following algorithm: - If `n` is 0 then return 0. - Otherwise, call the function recursively with `n-1` as the argument to get a number `t`. Check whether or not `t+1` squared is strictly greater than `n`. Based on that test, return the correct result. For example, a call to `simpleSqrt(8)` would recursively call `simpleSqrt(7)` and get back 2 as the answer. Then we would square (2+1) = 3 to get 9. Since 9 is bigger than 8, we know that 3 is too big, so return 2 in this case. On the other hand, a call to `simpleSqrt(9)` would recursively call `simpleSqrt(8)` and get back 2 as the answer. Again we would square (2+1) = 3 to get back 9. So 3 is the correct return value in this case.
Expert Solution
Check Mark
Knowledge Booster
Background pattern image
Similar questions
    Recommended textbooks for you
    Text book image
    Computer Networking: A Top-Down Approach (7th Edi...
    Computer Engineering
    ISBN:9780133594140
    Author:James Kurose, Keith Ross
    Publisher:PEARSON
    Text book image
    Computer Organization and Design MIPS Edition, Fi...
    Computer Engineering
    ISBN:9780124077263
    Author:David A. Patterson, John L. Hennessy
    Publisher:Elsevier Science
    Text book image
    Network+ Guide to Networks (MindTap Course List)
    Computer Engineering
    ISBN:9781337569330
    Author:Jill West, Tamara Dean, Jean Andrews
    Publisher:Cengage Learning
    Text book image
    Concepts of Database Management
    Computer Engineering
    ISBN:9781337093422
    Author:Joy L. Starks, Philip J. Pratt, Mary Z. Last
    Publisher:Cengage Learning
    Text book image
    Prelude to Programming
    Computer Engineering
    ISBN:9780133750423
    Author:VENIT, Stewart
    Publisher:Pearson Education
    Text book image
    Sc Business Data Communications and Networking, T...
    Computer Engineering
    ISBN:9781119368830
    Author:FITZGERALD
    Publisher:WILEY