How many squares are drawn if foo(0,0,5,2) is called?

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 8SA
icon
Related questions
Question

How many squares are drawn if foo(0,0,5,2) is called?

Assume that the function drawSquare(double x, double y, double halfLen) draws a square with
a side length that is double of halfLen, centered at (x, y). For example, drawSquare(0,0,5) draws
a square centered at (0,0) with each side of length 10.
Consider the following function foo defined as:
public static void foo(double x, double y, double len, int n) {
if (n < 1) return;
drawSquare (x, y, len);
foo(x-len/2, y-len/2, len/2,n-1);
foo(x-len/2, y+len/2, len/2,n-1);
foo(x+len/2, y+len/2, len/2,n-1);
foo(x+len/2, y-len/2, len/2,n-1);
}
Transcribed Image Text:Assume that the function drawSquare(double x, double y, double halfLen) draws a square with a side length that is double of halfLen, centered at (x, y). For example, drawSquare(0,0,5) draws a square centered at (0,0) with each side of length 10. Consider the following function foo defined as: public static void foo(double x, double y, double len, int n) { if (n < 1) return; drawSquare (x, y, len); foo(x-len/2, y-len/2, len/2,n-1); foo(x-len/2, y+len/2, len/2,n-1); foo(x+len/2, y+len/2, len/2,n-1); foo(x+len/2, y-len/2, len/2,n-1); }
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Time complexity
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