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

সি প্রোগ্রামিং-এ N টি পেইন্ট করার উপায় যাতে সংলগ্ন পেইন্টগুলো একই রঙের না হয়


এই সমস্যাতে আপনাকে N টি পেইন্ট এবং M টি রঙ দেওয়া আছে। আপনাকে এমনভাবে পেইন্ট করতে হবে যাতে দুটি সংলগ্ন পেইন্ট একই রঙের না হয়। প্রোগ্রামের আউটপুট খুব বড় হতে পারে, তাই আমরা স্ট্যান্ডার্ড মডুলো ১০9 + ৭ ব্যবহার করব। পেইন্ট করার উপায়ের সংখ্যা বের করার সূত্র:

Ways = n*(m-1)^(n-1)

উদাহরণ: ইনপুট n = 5, m = 6 → আউটপুট ৩৭৫০।

উদাহরণ

#include <iostream> #include<math.h> #define modd 1000000007 using namespace std; unsigned long find(unsigned long x, unsigned long y, unsigned long p) {    unsigned long res = 1;    x = x % p;    while (y > 0) {       if (y & 1)          res = (res * x) % p;       y = y >> 1;       x = (x * x) % p;    }    return res; } int ways(int n, int m) {    return find(m - 1, n - 1, modd) * m % modd; } int main() {    int n = 5, m = 6;    cout<<"There are"<<ways(n, m)<<"ways";    return 0; }

আউটপুট

There are 3750 ways

  1. বাইনারি ট্রিতে পরস্পর সংলগ্ন নয় এমন নোডগুলোর সর্বোচ্চ যোগফল (ডাইনামিক প্রোগ্রামিং সহ C++ প্রোগ্রাম)

  2. C++-এ সার্কুলার অ্যারেতে আঁচবিক উপাদান ছাড়া সর্বোচ্চ যোগফল বের করার পদ্ধতি

  3. সি++ প্রোগ্রাম: দেওয়া পজিশনে ওপেনিং ব্র্যাকেট সহ সমতুল্য অভিব্যক্তি

  4. পাইথনে অক্ষর সাজানোর উপায় সংখ্যা বের করুন যাতে প্রতিটি প্রিফিক্স ও সাফিক্সে B-র সংখ্যা A-র চেয়ে বেশি হয়