123,200 views
13 votes
13 votes
X274: Recursion Programming Exercise: Cannonballs Spherical objects, such as cannonballs, can be stacked to form a pyramid with one cannonball at the top, sitting on top of a square composed of four cannonballs, sitting on top of a square composed of nine cannonballs, and so forth.

RequireD:
Write a recursive function that takes as its argument the height of a pyramid of cannonballs and returns the number of cannonballs it contains.

User Huy
by
3.0k points

1 Answer

9 votes
9 votes

Answer:

The function in C is as follows:

#include <stdio.h>

int C_ball(int height){

if(height == 1) {

return 1;}

return (height * height) + C_ball(height - 1);}

int main(){

int n;

printf("Height: ");

scanf("%d",&n);

printf("Balls: %d",C_ball(n));

return 0;

}

Step-by-step explanation:

The function begins here

#include <stdio.h>

This defines the function

int C_ball(int height){

If height is 1, return 1

if(height == 1) {

return 1;}

This calls the function recursively

return (height * height) + C_ball(height - 1);}

The main begins here

int main(){

This declares the height as integer

int n;

This prompts the user for the height

printf("Height: ");

scanf("%d",&n);

This calls the function

printf("Balls: %d",C_ball(n));

return 0;

}

User Twirlman
by
3.0k points