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

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


মনে করুন আমাদের দুটি পূর্ণসংখ্যা n এবং m আছে। আমাদের n-র সন্নিকট এবং m দিয়ে বিভাজ্য সংখ্যা বের করতে হবে। যদি একাধিক এমন সংখ্যা থাকে, তবে যেটির निरপেক্ষ মান সর্বাধিক সেটি দেখাব। যদি n সম্পূর্ণরূপে m দিয়ে বিভাজ্য হয়, তবে n রিটার্ন করুন। তাই যদি n = 13, m = 4 হয়, তবে আউটপুট হবে 12।

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

  • q := n/m, এবং n1 := m*q
  • যদি n * m > 0, তবে n2 := m * (q + 1), অন্যথায় n2 := m * (q - 1)
  • যদি |n – n1| < |n – n2|, তবে n1 রিটার্ন করুন, অন্যথায় n2

উদাহরণ

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

int findClosest(int n, int m) {
    int q = n / m;
    int n1 = m * q;
    int n2 = (n * m) > 0 ? (m * (q + 1)) : (m * (q - 1));
    if (abs(n - n1) < abs(n - n2))
        return n1;
    return n2;
}

int main() {
    int n = 13, m = 4;
    cout << "Closest for n = " << n << ", and m = " << m << ": " << findClosest(n, m) << endl;
    n = 0; m = 8;
    cout << "Closest for n = " << n << ", and m = " << m << ": " << findClosest(n, m) << endl;
    n = 18; m = -7;
    cout << "Closest for n = " << n << ", and m = " << m << ": " << findClosest(n, m) << endl;
}

আউটপুট

Closest for n = 13, and m = 4: 12
Closest for n = 0, and m = 8: 0
Closest for n = 18, and m = -7: 21

  1. C++ ব্যবহার করে পেন্টাগোনাল পিরামিডাল সংখ্যা নির্ণয় করুন

  2. C++ দিয়ে একটি স্ট্রিংয়ের সাবস্ট্রিং-এর সংখ্যা বের করা

  3. C++-এ ট্রেন স্টপেজ স্টেশন সংখ্যা বের করুন

  4. C++-এ ফুটবলে পেন্টাগন এবং হেক্সাগন সংখ্যা বের করুন