এই সমস্যায়, আমাদেরকে একটি দাবাবোর্ডের আকার দেওয়া হয়। আমাদের কাজ হল C++ এ একটি দাবাবোর্ডে স্কোয়ারের সংখ্যা খুঁজে বের করার জন্য একটি প্রোগ্রাম তৈরি করা।
সমস্যা বর্ণনা - একটি দাবাবোর্ডে বর্গক্ষেত্রের সংখ্যা খুঁজে বের করতে। আমাদের দাবাবোর্ডের ভিতরে থাকা বর্গক্ষেত্রের সমস্ত সংমিশ্রণ গণনা করতে হবে অর্থাৎ আমরা 1x1, 2x2, 3x3 … nxn পাশের বর্গক্ষেত্র বিবেচনা করব।
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,
ইনপুট: n =4।
আউটপুট :৩০
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