What is the maximum number of squares of size 2×2 units that can be fit in a right angled isosceles triangle of a given base (in units).

A side of the square must be parallel to the base of the triangle.

Examples:

Input : 8 Output : 6 Please refer below diagram for explanation. Input : 7 Output : 3

Since the triangle is isosceles, the given base would also be equal to the height. Now in the diagonal part, we would always need an extra length of 2 units in both height and base of the triangle to accommodate a triangle. (The CF and AM segment of the triangle in the image. The part that does not contribute to any square). In the remaining length of base, we can construct length / 2 squares. Since each square is of 2 units, same would be the case of height, there is no need to calculate that again.

So, for each level of given length we can construct “(length-2)/2” squares. This gives us a base of “(length-2)” above it. Continuing this process to get the no of squares for all available “length-2” height, we can calculate the squares.

while length > 2 answer += (length - 2 )/2 length = length - 2

**For more effective way, we can use the formula of sum of AP n * ( n + 1 ) / 2, where n = length – 2**

## C++

`// C++ program to count number of 2 x 2 ` `// squares in a right isosceles triangle ` `#include<bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `int` `numberOfSquares(` `int` `base) ` `{ ` ` ` `// removing the extra part we would ` ` ` `// always need ` ` ` `base = (base - 2); ` ` ` ` ` `// Since each square has base of ` ` ` `// length of 2 ` ` ` `base = base / 2; ` ` ` ` ` `return` `base * (base + 1)/2; ` `} ` ` ` `// Driver code ` `int` `main() ` `{ ` ` ` `int` `base = 8; ` ` ` `cout << numberOfSquares(base); ` ` ` `return` `0; ` `} ` |

## Java

`// Java program to count number of 2 x 2 ` `// squares in a right isosceles triangle ` ` ` `class` `Squares ` `{ ` ` ` `public` `static` `int` `numberOfSquares(` `int` `base) ` ` ` `{ ` ` ` `// removing the extra part ` ` ` `// we would always need ` ` ` `base = (base - ` `2` `); ` ` ` ` ` `// Since each square has ` ` ` `// base of length of 2 ` ` ` `base = base / ` `2` `; ` ` ` ` ` `return` `base * (base + ` `1` `)/` `2` `; ` ` ` `} ` ` ` ` ` `// Driver code ` ` ` `public` `static` `void` `main(String args[]) ` ` ` `{ ` ` ` ` ` `int` `base = ` `8` `; ` ` ` `System.out.println(numberOfSquares(base)); ` ` ` `} ` `} ` ` ` `// This code is contributed by Anshika Goyal. ` |

## Python3

`# Python3 program to count number ` `# of 2 x 2 squares in a right ` `# isosceles triangle ` `def` `numberOfSquares(base): ` ` ` ` ` `# removing the extra part we would ` ` ` `# always need ` ` ` `base ` `=` `(base ` `-` `2` `) ` ` ` ` ` `# Since each square has base of ` ` ` `# length of 2 ` ` ` `base ` `=` `base ` `/` `2` ` ` ` ` `return` `base ` `*` `(base ` `+` `1` `) ` `/` `2` ` ` `# Driver code ` `base ` `=` `8` ` ` `print` `(numberOfSquares(base)) ` ` ` `# This code is contributed by Anant Agarwal. ` |

## C#

`// C# program to count number of 2 x 2 ` `// squares in a right isosceles triangle ` `using` `System; ` ` ` `class` `GFG { ` ` ` ` ` `public` `static` `int` `numberOfSquares(` `int` `_base) ` ` ` `{ ` ` ` ` ` `// removing the extra part ` ` ` `// we would always need ` ` ` `_base = (_base - 2); ` ` ` ` ` `// Since each square has ` ` ` `// base of length of 2 ` ` ` `_base = _base / 2; ` ` ` ` ` `return` `_base * (_base + 1)/2; ` ` ` `} ` ` ` ` ` `// Driver code ` ` ` `public` `static` `void` `Main() ` ` ` `{ ` ` ` ` ` `int` `_base = 8; ` ` ` `Console.WriteLine(numberOfSquares(_base)); ` ` ` `} ` `} ` ` ` `// This code is contributed by anuj_67. ` |

## PHP

`<?php ` `// PHP program to count number of 2 x 2 ` `// squares in a right isosceles triangle ` ` ` ` ` `function` `numberOfSquares( ` `$base` `) ` ` ` `{ ` ` ` ` ` `// removing the extra ` ` ` `// part we would ` ` ` `// always need ` ` ` `$base` `= (` `$base` `- 2); ` ` ` ` ` `// Since each square ` ` ` `// has base of ` ` ` `// length of 2 ` ` ` `$base` `= ` `$base` `/ 2; ` ` ` ` ` `return` `$base` `* (` `$base` `+ 1)/2; ` ` ` `} ` ` ` `// Driver code ` `$base` `= 8; ` `echo` `numberOfSquares(` `$base` `); ` ` ` `// This code is contributed by anuj_67. ` `?> ` |

Output:

6

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

## leave a comment

## 0 Comments