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

C++-এ nCr যেন প্রদত্ত প্রাইম দ্বারা বিভাজ্য কিনা তা যাচাই করা

ধরুন তিনটি ভেরিয়েবল আছে N, R এবং P। N এবং R দিয়ে NCR বের করা হয় এবং P একটি প্রাইম সংখ্যা। আমাদের খুঁজে বের করতে হবে NCR কি P দ্বারা বিভাজ্য। ধরুন N = 7, R = 2 এবং P = 3, তাহলে 7C2 = 21, যা ৩ দ্বারা বিভাজ্য, সুতরাং আউটপুট হবে true।

আমরা জানি NCR = N! / (R! * (N - R)! )। আমরা লেজান্ড্রের সূত্র ব্যবহার করব যেকোনো N!, R! এবং (N - R)! কে বিভাজ্য করা P-এর সর্বোচ্চ ঘাত বের করতে, যাতে NCR P দ্বারা বিভাজ্য হয়, শর্ত হল N! > R! + (N - R)!।

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

#include <iostream>
using namespace std;

int getPower(int n, int p) {
    int pow = 0;
    while (n) {
        n /= p;
        pow += n;
    }
    return pow;
}

bool isDivisibleByP(int n, int r, int p) {
    // n!, r! এবং (n - r)! কে বিভাজ্য করা p-এর সর্বোচ্চ ঘাত বের করুন
    int x1 = getPower(n, p);
    int x2 = getPower(r, p);
    int x3 = getPower(n - r, p);
    if (x1 > x2 + x3)
        return true;
    return false;
}

int main() {
    int n = 7, r = 2, p = 7;
    if (isDivisibleByP(n, r, p))
        cout << "nCr is divisible by P";
    else
        cout << "nCr is not divisible by P";
    return 0;
}

আউটপুট

nCr is divisible by P
  1. কার্ভে একটি বিন্দুতে নর্মাল (Normal) বের করা (C++)

  2. প্রথম Nটি মৌলিক সংখ্যার গুণফল বের করা C++-তে

  3. n-র সन्नিকট এবং m দিয়ে বিভাজ্য সংখ্যা খুঁজে বের করা C++-তে

  4. সি++ প্রোগ্রাম: দিয়ে থাকা স্ট্রিং-এ "1(0+)1" প্যাটার্নের সব.matches খুঁজে বের করা