Finding length, width and height of the sheet required to cover some area using JavaScript

Problem Statement

We need to write a JavaScript function that calculates the number of wallpaper sheets required to cover a room's walls. Given the room's length, width, and height, we must determine how many sheets are needed when each sheet has dimensions of 0.52 units width and 10 units length.

The function should return 15% more sheets than the calculated requirement to account for waste and cutting.

Understanding the Calculation

The total wall area of a rectangular room is calculated using the formula: 2 × (length + width) × height. This covers all four walls, excluding the floor and ceiling.

Each wallpaper sheet covers an area of 0.52 × 10 = 5.2 square units.

Solution

const findSheet = (length, width, height) => {
    if(length === 0 || width === 0){
        return 0;
    }
    const roomArea = 2 * (length + width) * height;
    const rollArea = 0.52 * 10;
    const required = Math.ceil(roomArea / rollArea * 1.15);
    return required;
};

console.log(findSheet(4, 3.5, 3));

Output

10

Step-by-Step Breakdown

Let's trace through the calculation for a room with length=4, width=3.5, height=3:

const length = 4, width = 3.5, height = 3;

// Calculate wall area
const roomArea = 2 * (length + width) * height;
console.log("Room wall area:", roomArea); // 2 * (4 + 3.5) * 3 = 45

// Calculate area per sheet
const rollArea = 0.52 * 10;
console.log("Area per sheet:", rollArea); // 5.2

// Calculate sheets needed with 15% extra
const sheetsNeeded = roomArea / rollArea;
console.log("Exact sheets needed:", sheetsNeeded); // 45 / 5.2 ? 8.65

const withExtra = sheetsNeeded * 1.15;
console.log("With 15% extra:", withExtra); // 8.65 * 1.15 ? 9.95

const finalResult = Math.ceil(withExtra);
console.log("Final sheets required:", finalResult); // 10
Room wall area: 45
Area per sheet: 5.2
Exact sheets needed: 8.653846153846153
With 15% extra: 9.952307692307692
Final sheets required: 10

Testing with Different Room Sizes

// Test various room dimensions
console.log("Small room (2x2x2.5):", findSheet(2, 2, 2.5));
console.log("Large room (6x5x3):", findSheet(6, 5, 3));
console.log("Zero width (edge case):", findSheet(5, 0, 3));
console.log("Narrow room (8x1x2.8):", findSheet(8, 1, 2.8));
Small room (2x2x2.5): 5
Large room (6x5x3): 15
Zero width (edge case): 0
Narrow room (8x1x2.8): 12

Key Points

  • Wall Area Formula: 2 × (length + width) × height calculates the total surface area of four walls
  • Sheet Dimensions: Each sheet covers 5.2 square units (0.52 × 10)
  • Waste Factor: 15% extra sheets account for cutting waste and pattern matching
  • Ceiling Function: Math.ceil() ensures we round up to avoid insufficient coverage

Conclusion

This function efficiently calculates wallpaper requirements by computing wall surface area, dividing by sheet coverage, and adding a 15% safety margin. The Math.ceil() ensures adequate coverage by rounding up to the nearest whole sheet.

Updated on: 2026-03-15T23:19:00+05:30

311 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements