কম্পিউটার

A-তে N সংখ্যা যোগ করুন যাতে C++ এ প্রতিটি যোগের পর B দ্বারা বিভাজ্য হয়?


এখানে আমরা দেখব কিভাবে একটি সংখ্যা A তৈরি করতে হয় এর সাথে N সংখ্যা যোগ করে, এবং প্রতিটি ধাপে নতুন সংখ্যা যোগ করার সময় এটি অন্য একটি সংখ্যা B দ্বারা বিভাজ্য হবে। আসুন বিবেচনা করা যাক আমরা 4 যোগ করে একটি 5-অঙ্কের সংখ্যা তৈরি করতে যাচ্ছি। এর সাথে অতিরিক্ত সংখ্যা। আমরা 7 দ্বারা বিভাজ্যতা পরীক্ষা করব। সংখ্যাটি 8 থেকে শুরু হবে। সুতরাং প্রথমে এটি এর সাথে 4 যুক্ত করবে, সুতরাং সংখ্যাটি 84 হবে, যা 7 দ্বারা বিভাজ্য। তারপর সংখ্যাটির সাথে 0 যোগ করুন যাতে এটি দ্বারা বিভাজ্য থাকে। 7. যদি নম্বরটি তৈরি করা না যায় তবে এটি -1 ফেরত দেবে।

অ্যালগরিদম

addNDigits(a, b, n)

0 থেকে 9 পর্যন্ত সমস্ত সংখ্যা x এর জন্য
begin
   num := a
   for all number x from 0 to 9, do
      temp := a * 10 + x
      if temp mod b is 0, then
         a := temp
         break
      end if
   done
   if num = a, then
      return -1
   end if
   add remaining 0’s with a
   return a.
end
সঙ্গে অবশিষ্ট 0 যোগ করুন

উদাহরণ

#include<iostream>
using namespace std;
int add_n_digits(int a, int b, int n) {
   int num = a;
   for (int i = 0; i <= 9; i++) { //test by adding all digits (0-9)
      int tmp = a * 10 + i;
      if (tmp % b == 0) {
         a = tmp; //update a after adding
         break;
      }
   }
   if (num == a) //if no digit is added, return -1
      return -1;
   for (int j = 0; j < n - 1; j++) //after getting divisible number, add 0s
      a *= 10;
   return a;
}
main() {
   int a, b, n;
   cout << "Enter A, B and N: ";
   cin >> a >> b >> n;
   int res = add_n_digits(a, b, n);
   if(res == -1) {
      cout << "Unable to get this type of number";
   } else {
      cout << "Result is " << res;
   }
}

আউটপুট

Enter A, B and N: 8 7 4
Result is 84000

আউটপুট

Enter A, B and N: 10 11 5
Unable to get this type of number

  1. C++ ব্যবহার করে x-এর যোগফল এবং এর অঙ্কগুলো n-এর সমান হয় এমন একটি সংখ্যা খুঁজুন।

  2. x এর সমষ্টি এবং এর সংখ্যা C++ এ দেওয়া n-এর সমান

  3. A-তে N সংখ্যা যোগ করুন যাতে প্রতিটি যোগের পর B দ্বারা বিভাজ্য হয়?

  4. C++ একটি শব্দকে পার্টিশন করার উপায় খুঁজে বের করার জন্য প্রোগ্রাম যাতে প্রতিটি শব্দ একটি প্যালিনড্রোম