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

C++ প্রোগ্রাম: সংখ্যা b-বেসে ১ দিয়ে শুরু হয় কিনা চেক


সংখ্যা N কে বেস b-এ রিপ্রেজেন্ট করলে কি সেটি 1 দিয়ে শুরু হয়?
বেস b-এ N-র রিপ্রেজেন্টেশন b^m ≤ N ≤ 2b^m - 1 হলে প্রথম ডিজিট ১ হয়।

অ্যালগরিদম

  1. m = 1 থেকে floor(log₂N) পর্যন্ত লুপ।
  2. যদি b^m ≤ N ≤ 2b^m - 1 হয়, তবে True।

C++ কোড উদাহরণ

#include <iostream>
#include <cmath>
using namespace std;

bool startsWithOne(int N, int b) {
    int m = log2(N);
    for (int i=1; i<=m; i++)
        if (N >= pow(b,i) && N <= 2*pow(b,i)-1) return true;
    return false;
}

int main() {
    int n=19, b=16;
    cout << (startsWithOne(n,b) ? "Can be represented" : "Cannot be represented");
    return 0;
}

আউটপুট

Can be represented
  1. C++ প্রোগ্রাম: সংখ্যা অন্য একটি সংখ্যার পাওয়ার কিনা চেক করা

  2. C++ প্রোগ্রাম: বড় সংখ্যা ২০ দিয়ে বিভাজ্য কিনা চেক (স্ট্রিং ইনপুট)

  3. C++-এ N পেন্টাগোনাল নাম্বার কিনা তা যাচাই করার প্রোগ্রাম

  4. আর্মস্ট্রং নম্বর (Armstrong Number) চেক করার C++ প্রোগ্রাম