// Ball pit program
using System;
class Program
{
// -------------------------
// Subprograms
// -------------------------
// Function to return the volume of the ball pit
static double ball_pit_volume(double ball_pit_radius, double ball_pit_height)
{
double pi = 3.14;
return pi * (ball_pit_radius * ball_pit_radius) * ball_pit_height;
}
// Function to return the volume of a ball
static double ball_volume(double ball_radius)
{
double pi = 3.14;
return (4.0 / 3.0) * pi * (ball_radius * ball_radius * ball_radius);
}
// -------------------------
// Main program
// -------------------------
static void Main()
{
double ball_pit_radius = 1; // Meters
double ball_pit_height = 0.2; // Meters
double ball_radius = 0.05; // Meters
double packing_density = 0.75; // Volume taken up by the balls
int balls = Convert.ToInt32((ball_pit_volume(ball_pit_radius, ball_pit_height) / ball_volume(ball_radius)) * packing_density);
Console.WriteLine("You need " + balls + " balls to fill the ball pit.");
}
}