Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 체스판의 사각형 수를 찾는 프로그램

<시간/>

이 문제에서는 체스판 크기가 주어집니다. 우리의 임무는 C++에서 체스판의 사각형 수를 찾는 프로그램을 만드는 것입니다.

문제 설명 - 체스판에서 사각형의 수를 찾기 위해. 체스판 내부에 있는 정사각형의 모든 조합을 계산해야 합니다. 즉, 측면 1x1, 2x2, 3x3 … nxn의 정사각형을 고려합니다.

문제를 이해하기 위해 예를 들어보겠습니다.

입력: n =4.

C++에서 체스판의 사각형 수를 찾는 프로그램

출력 :30

Squares of size 1x1 -> 16
Squares of size 2x2 -> 9
Squares of size 3x3 -> 4
Squares of size 4x4 -> 1
Total number of squares = 16+9+4+1 = 30

해결 방법:

A simple approach is by using the sum formula for nxn grid.
Let’s deduct the general formula for the sum,
sum(1) = 1
sum(2) = 1 + 4 = 5
sum(3) = 1 + 4 + 9 = 14
sum(4) = 1 + 4 + 9 + 16 = 30
The sum is can be generalised as
sum = 12 + 22 + 32 + 42 + … n2
sum = ( (n*(n+1)*((2*n) + 1))/6 )

#include <iostream>
using namespace std;
int calcSquaresCount(int n){
   int squareCount = ( (n * (n+1) * (2*n + 1))/6 );
   return squareCount;
}
int main() {
   int n = 6;
   cout<<"The total number of squares of size "<<n<<"X"<<n<<" is
   "<<calcSquaresCount(n);
}

출력:

The total number of squares of size 6X6 is 91