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