কম্পিউটার টিউটোরিয়াল

C++-এ N*N চেসবোর্ডে সর্বোচ্চ বিশপ বসানো


আমাদের একটি ইনপুট N দেওয়া আছে যা চেসবোর্ডের আকার নির্দেশ করে। কাজ হল যেকোনো N মানের জন্য, NxN চেসবোর্ডে সর্বোচ্চ কতগুলো বিশপ বসানো যায় যাতে কোনো দুটি বিশপ একে অপরকে আক্রমণ করতে না পারে।

C++-এ N*N চেসবোর্ডে সর্বোচ্চ বিশপ বসানো

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

ইনপুট - N=2

আউটপুট - N*N চেসবোর্ডে সর্বোচ্চ বিশপ - ২ (চিত্রে দেখানো অনুযায়ী)

ব্যাখ্যা - চিত্রে দেখানো অনুযায়ী শুধু নন-কন্ট্রাডিক্টরি পজিশনগুলোই যেখানে বিশপ বসানো যাবে। ২x২ চেসবোর্ডে সর্বোচ্চ বিশপ।

ইনপুট - N=5

আউটপুট - N*N চেসবোর্ডে সর্বোচ্চ বিশপ: ৮ (চিত্রে দেখানো অনুযায়ী)

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

  • চেসবোর্ডের ডাইমেনশন için ইন্টিজার N ইনপুট নেওয়া হয়েছে।

  • এই N-কে totalBishops(int n) ফাংশনে আর্গুমেন্ট হিসেবে পাস করা হয়েছে।

  • N<1 হলে ইনভ্যালিড ইনপুট, বিশপ কাউন্ট=০।

  • N=1 হলে শুধু ১ পজিশন, বিশপ কাউন্ট=১।

  • অন্যথায় বিশপের সংখ্যা = 2*(N-1)

  • এই রেজাল্ট bishops ভেরিয়েবলে সংরক্ষণ করা হয়েছে।

  • রেজাল্ট ফেরত দেয়া হয়েছে।

C++ প্রোগ্রাম উদাহরণ

#include <iostream>
// সর্বোচ্চ বিশপ ফেরত দিতে
int totalBishops(int n){
    int bishops=0;
    if (n < 1)
        bishops= 0;
    else if (n == 1)
        bishops= 1;
    else
        bishops= 2 * (n - 1);
    return bishops;
}

int main(){
    int N = 15; // চেসবোর্ড ডাইমেনশন N*N
    printf("%d" ,totalBishops(N));
    return 0;
}

আউটপুট

28
  1. C++-এ সেভেন সেগমেন্ট ডিসপ্লেতে N সেগমেন্ট দিয়ে প্রদর্শনযোগ্য সর্বোচ্চ সংখ্যা

  2. C++-তে সেটে যোগ করা যাবে সর্বোচ্চ ডিফারেন্স এলিমেন্ট বের করা

  3. C++-এ k আপডেট দিয়ে ম্যাক্সিমাম এলিমেন্ট সমান করা

  4. C++-এ কণকোণী সমদ্বিবাহু ত্রিভুজে ফিট হতে পারা ম্যাক্সিমাম বর্গের সংখ্যা