Cho một kích thước số làm đầu vào là kích thước của kích thước * size Bàn cờ. Mục tiêu là tìm số ô vuông có thể được tạo thành bên trong bảng có độ dài lẻ.
Ví dụ
Đầu vào
size=3
Đầu ra
Count of squares with odd side length in Chessboard are: 10
Giải thích
All squares will be as shown : and 1 whole square of size 3x3.
Đầu vào
size=4
Đầu ra
Count of squares with odd side length in Chessboard are: 20
Giải thích
there will be 16, 1X1 squares. And 4, 3X3 squares inside it.
Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau -
Trong cách tiếp cận này, chúng ta sẽ chuyển từ chiều dài của hình vuông là 1 đến chiều dài là kích thước. Đối với mỗi độ dài lẻ, chúng tôi sẽ thêm (size − i − 1) 2 vào số đếm.
-
Lấy kích thước số nguyên làm đầu vào cho mặt của Bàn cờ.
-
Hàm square_odd_length (int size) lấy kích thước và trả về số lượng các ô vuông có độ dài cạnh lẻ trong Bàn cờ.
-
Lấy số lượng ban đầu là 0.
-
Di chuyển từ i =1 đến i =kích thước tăng lên 2 đối với các giá trị lẻ của i.
-
Đối với mỗi tôi lấy temp =size − i + 1.
-
Thêm temp * tạm thời để đếm.
-
Kết quả là số lượng trả về ở cuối vòng lặp for.
Ví dụ
#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;
} Đầu ra
Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -
Count squares with odd side length in Chessboard are: 56