কম্পিউটার

C++ এ একটি সংখ্যাকে ভাগ করার জন্য দশমিকের পরে সংখ্যার সংখ্যা গণনা করুন


আমাদের দুটি পূর্ণসংখ্যা দেওয়া হয়েছে, আসুন num1 এবং num2 বলি এবং কাজটি হল num1 কে num2 দিয়ে ভাগ করা এবং এই প্রদত্ত সংখ্যাগুলিকে ভাগ করার জন্য দশমিকের পরে অঙ্কের গণনা করা।

উদাহরণস্বরূপ

Input − num1 = 2, num2 = 5
Output − count is 1

ব্যাখ্যা − যখন আমরা 2 কে 5 দিয়ে ভাগ করি অর্থাৎ? =0.4, তাই দশমিকের পরে সংখ্যা 1 তাই গণনা হল 1।

Input − num1 = 2, num2 = 0
Output − Floating point exception (core dumped)

ব্যাখ্যা − যখন আমরা যেকোন সংখ্যাকে 0 দিয়ে ভাগ করি এটি একটি ত্রুটি ফিরিয়ে দেবে এবং প্রোগ্রামটি অস্বাভাবিকভাবে বন্ধ করে দেবে।

Input − num1 = 2, num2 = 3
Output − Infinite

ব্যাখ্যা − যখন আমরা 2 কে 3 দিয়ে ভাগ করি অর্থাৎ 2/3 =0.666..., দশমিকের পরে সংখ্যা অসীম তাই আমরা অসীম প্রিন্ট করব।

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • দুটি ভেরিয়েবল ইনপুট করা যাক, num1 এবং num2

  • দশমিক সংখ্যার গণনা সংরক্ষণ করার জন্য একটি পরিবর্তনশীল গণনা তৈরি করুন এবং এটি 0 দিয়ে শুরু করুন

  • unordered_map প্রকারের একটি পরিবর্তনশীল um তৈরি করুন

  • স্টার্ট লুপ যখন num1%num2 !=0

  • লুপের ভিতরে, num1%num2

    সহ num1 সেট করুন
  • গণনার মান 1 দ্বারা বৃদ্ধি করুন

  • পরীক্ষা করুন যদি um.find(num1) !=um.end() তারপরে -1

    রিটার্ন করুন
  • লুপের বাইরে, গণনায় মানটি ফেরত দিন।

  • ফলাফল প্রিন্ট করুন।

উদাহরণ

#include <iostream>
#include <unordered_map>
using namespace std;
int countdigits(int x, int y){
   int result = 0; // result variable
   unordered_map<int, int> mymap;
   // calculating remainder
   while (x % y != 0){
      x = x % y;
      result++;
      if (mymap.find(x) != mymap.end()){
         return -1;
      }
      mymap[x] = 1;
      x = x * 10;
   }
   return result;
}
int main(){
   int res = countdigits(2, 5);
   (res == -1)? cout << "count is Infinty" : cout <<"count is "<<res;
   return 0;
}

আউটপুট

আমরা উপরের কোডটি চালালে আমরা নিম্নলিখিত আউটপুট পাব −

count is 1

  1. C++ এ একটি আয়তক্ষেত্রে বর্গক্ষেত্রের সংখ্যা গণনা করুন

  2. C++ এ ফ্যাক্টরিয়ালের সংখ্যা গণনা করুন

  3. একটি সংখ্যায় সংখ্যার গণনা খুঁজুন যা সংখ্যাটিকে C++ এ ভাগ করে

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