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

C++의 체스판에서 변의 길이가 홀수인 사각형 계산


size*size 체스판의 차원으로 숫자 크기가 입력으로 주어집니다. 목표는 홀수 길이의 보드 내부에 형성할 수 있는 정사각형의 수를 찾는 것입니다.

예를 들어

입력

size=3

출력

Count of squares with odd side length in Chessboard are: 10

설명

All squares will be as shown : and 1 whole square of size 3x3.

C++의 체스판에서 변의 길이가 홀수인 사각형 계산

입력

size=4

출력

Count of squares with odd side length in Chessboard are: 20

설명

there will be 16, 1X1 squares. And 4, 3X3 squares inside it.

아래 프로그램에서 사용된 접근 방식은 다음과 같습니다. -

이 접근 방식에서는 정사각형의 길이가 1인 길이에서 크기가 되는 길이까지 횡단합니다. 각 홀수 길이에 대해 개수에 ( size−i−1)2를 추가합니다.

  • 체스판 쪽의 입력으로 정수 크기를 사용합니다.

  • square_odd_length(int size) 함수는 체스판에서 크기가 홀수인 정사각형의 개수를 반환합니다.

  • 초기 카운트를 0으로 합니다.

  • i=1 에서 i=size 까지 i의 홀수 값에 대해 2만큼 증가합니다.

  • 각각에 대해 temp=size−i+1을 취합니다.

  • temp*temp를 추가하여 계산합니다.

  • for 루프의 끝에서 결과로 count를 반환합니다.

예시

#include <bits/stdc++.h>
using namespace std;
int square_odd_length(int size){
   int count = 0;
   for (int i = 1; i <= size; i = i + 2){
      int temp = size − i + 1;
      count = count + (temp * temp);
   }
   return count;
}
int main(){
   int size = 6;
   cout<<"Count squares with odd side length in Chessboard are: "<<square_odd_length(size);
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다 -

Count squares with odd side length in Chessboard are: 56