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

a^b-র সন্নিকট x-এর গুণিতক খুঁজে বের করা C++-তে


মনে করুন আমাদের তিনটি পূর্ণসংখ্যা a, b এবং x আছে। কাজটি হল x-এর সেই গুণিতকটি বের করা যা a^b-র সন্নিকট। তাই যদি a = 5, b = 4 এবং x = 3 হয়, তবে আউটপুট হবে 624। কারণ 5^4 = 625, এবং 624 হল 3-এর গুণিতক যা 625-র সন্নিকট।

কাজটি সহজ। এই সমস্যাটি সমাধানের জন্য নিচের ধাপগুলো অনুসরণ করতে হবে -

  • num := a^b হিসাব করুন
  • <লি>তারপর f := floor(num/x) বের করুন
  • এখন বাম পাশের সন্নিকট উপাদান হবে cl = x * f, এবং ডান পাশের হবে cr = x * (f + 1)
  • শেষ পর্যন্ত, তাদের মধ্যতে সন্নিকটটি হবে min(num – cl, cr – num)

উদাহরণ

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

long long getClosest(int a, int b, int x) {
    long long num = pow(a, b);
    int f = floor(num / x);
    long long cl = x * f;
    long long cr = x * (f + 1);
    if ((num - cl) < (cr - num))
        return cl;
    else
        return cr;
}

int main() {
    int a = 5, b = 4, x = 3;
    cout << "Find closest element: " << getClosest(a, b, x);
}

আউটপুট

Find closest element: 624

  1. C++-এ বাইনারি সার্চ ট্রি থেকে টার্গেটের নিকটতম K এলিমেন্ট বের করা

  2. বাইনারি ট্রিতে নিকটতম লিফ নোড খুঁজে বের করা (C++)

  3. C++-এ উদ্ভূত বিন্দু থেকে K সংখ্যক নিকটতম পয়েন্ট বের করা

  4. C++-এ প্রাইম নাম্বার খুঁজে বের করার দ্রুততম অ্যালগরিদম কোনটি?