কম্পিউটার

C++ এ একটি দাবাবোর্ডে স্কোয়ারের সংখ্যা খুঁজে বের করার প্রোগ্রাম


এই সমস্যায়, আমাদেরকে একটি দাবাবোর্ডের আকার দেওয়া হয়। আমাদের কাজ হল C++ এ একটি দাবাবোর্ডে স্কোয়ারের সংখ্যা খুঁজে বের করার জন্য একটি প্রোগ্রাম তৈরি করা।

সমস্যা বর্ণনা - একটি দাবাবোর্ডে বর্গক্ষেত্রের সংখ্যা খুঁজে বের করতে। আমাদের দাবাবোর্ডের ভিতরে থাকা বর্গক্ষেত্রের সমস্ত সংমিশ্রণ গণনা করতে হবে অর্থাৎ আমরা 1x1, 2x2, 3x3 … nxn পাশের বর্গক্ষেত্র বিবেচনা করব।

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,

ইনপুট: n =4।

C++ এ একটি দাবাবোর্ডে স্কোয়ারের সংখ্যা খুঁজে বের করার প্রোগ্রাম

আউটপুট :৩০

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

  1. একটি সংখ্যার জোড় গুণনীয়কের যোগফল বের করতে C++ প্রোগ্রাম?

  2. রিকার্সন ব্যবহার করে একটি সংখ্যার ফ্যাক্টরিয়াল খুঁজে বের করার জন্য C++ প্রোগ্রাম

  3. LCM খুঁজে পেতে C++ প্রোগ্রাম

  4. GCD খুঁজে পেতে C++ প্রোগ্রাম