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.
입력
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