কম্পিউটার

C++ এ একটি আয়তক্ষেত্রে বর্গক্ষেত্রের সংখ্যা গণনা করুন


আমাদের দৈর্ঘ্য L এবং প্রস্থ B এর একটি আয়তক্ষেত্র দেওয়া হয়েছে, যেমন L>=B। লক্ষ্য হল LXB আকারের একটি আয়তক্ষেত্র মিটমাট করতে পারে এমন স্কোয়ারের সংখ্যা খুঁজে বের করা।

C++ এ একটি আয়তক্ষেত্রে বর্গক্ষেত্রের সংখ্যা গণনা করুন

উপরের চিত্রটি 3 X 2 আকারের একটি আয়তক্ষেত্র দেখায়৷ এতে 2, 2X2 বর্গক্ষেত্র এবং 6,1X1 বর্গক্ষেত্র রয়েছে৷

মোট বর্গ =6+2=8।

  • LXB আকারের প্রতিটি আয়তক্ষেত্রে 1X1 বর্গক্ষেত্রের L*B সংখ্যা রয়েছে।

  • সবচেয়ে বড় স্কোয়ারের আকার BXB।

  • L=B=1 এর জন্য, বর্গ =1।

  • L=B=2 এর জন্য, বর্গ =1 + 4 =5। ( 2X2 এর 1, 1X1 এর 4)

  • L=B=3 এর জন্য, বর্গ =1 + 4 + 9 =14। ( 3X3-এর 1, 2X2-এর 4, 1X1-এর 9)

  • L=B=4 এর জন্য, বর্গ =1 + 4 + 9 + 16 =30 ( 4X4 এর 1, 3X3 এর 4, 2X2 এর 9, 1X1 এর 16)

  • ……………..

  • প্রতিটি BXB আয়তক্ষেত্রের জন্য বর্গ সংখ্যা হল

for ( i=1 to B )
No. of squares + = i*i.

যখন L>B. আরো স্কোয়ার যোগ করা হবে. যখন L=B+1 ( B এর চেয়ে 1 অতিরিক্ত কলাম)। তারপর যোগ করা বর্গক্ষেত্র হবে L + ( L-1) + ....+3+2+1 =L(L+1)/2

তাই অতিরিক্ত L-B কলামের জন্য যোগ করা বর্গক্ষেত্র হবে ( L-B ) * (B)(B+1)/2

  • BXB + (L-B) * (L)(L+1)/2 তে মোট বর্গক্ষেত্র হবে।

  • এছাড়াও আপনি 8 নম্বর ধাপে সিরিজের (1 + 4 + 9 +......BXB) জন্য সূত্র B(B+1)(2B+1)/6 ব্যবহার করতে পারেন।

উদাহরণ দিয়ে বোঝা যাক।

ইনপুট − L=4, B=2

আউটপুট − আয়তক্ষেত্রে বর্গক্ষেত্রের সংখ্যা − 11

ব্যাখ্যা − 1X1 এর 8 বর্গ এবং 2X2 এর 3।

C++ এ একটি আয়তক্ষেত্রে বর্গক্ষেত্রের সংখ্যা গণনা করুন

ইনপুট − L=3, B=3

আউটপুট − আয়তক্ষেত্রে বর্গক্ষেত্রের সংখ্যা − 14

ব্যাখ্যা − 1X1-এর 9টি বর্গ, 2X2-এর 4 এবং 3X3-এর 1৷

C++ এ একটি আয়তক্ষেত্রে বর্গক্ষেত্রের সংখ্যা গণনা করুন

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • আমরা আয়তক্ষেত্রের মাত্রার জন্য একটি পূর্ণসংখ্যার দৈর্ঘ্য এবং প্রস্থ নিই।

  • ফাংশন numofSquares(int l, int b) মাত্রা নেয় এবং lXb আকারের আয়তক্ষেত্রে বর্গক্ষেত্রের সংখ্যা প্রদান করে।

  • সবচেয়ে বড় স্কোয়ার bXb এর জন্য। 1 থেকে b থেকে লুপের জন্য ব্যবহার করুন এবং প্রতিটি i*i বর্গক্ষেত্রে যোগ করুন।

  • এখন যদি l>b. নতুন যোগ করা বর্গ হবে (l-b)(b)(b+1)/2। এটিকে বর্গক্ষেত্রে যুক্ত করুন৷

  • পছন্দসই ফলাফল হিসাবে বর্গক্ষেত্র ফেরত দিন।

দ্রষ্টব্য - রাখা দৈর্ঘ্য>=প্রস্থ

উদাহরণ

#include<iostream>
using namespace std;
int numofSquares(int l, int b){
   int squares=0;
   for(int i=1;i<=b;i++) //squares inside biggest square of size breadth X breadth{
      squares += i*i;
   }
   squares+=(l-b)*b*(b+1)/2;
   return squares;
}
int main(){
   int length = 5, breadth = 4; //keep length always >= breadth
   cout << "Count of squares is :"<< numofSquares(length,breadth);
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Count of squares is :40

  1. C++-এ অ-বর্ধমান সাবয়ারের সংখ্যা গণনা করুন

  2. C++ এ একটি পূর্ণসংখ্যার গর্তের সংখ্যা গণনা করুন

  3. C++ এ একটি সংখ্যার ফ্যাক্টোরিয়ালের অনুগামী শূন্য গণনা করুন

  4. C++ এ প্রদত্ত আকারের আয়তক্ষেত্রের ভিতরে সম্ভাব্য রম্বির সংখ্যা গণনা করুন