কম্পিউটার

C++ এ একটি পরিসরে ইউনারি সংখ্যা গণনা করুন


প্রদত্ত দুটি সংখ্যা শুরু এবং শেষ একটি ব্যাপ্তির প্রতিনিধিত্ব করে। লক্ষ্য হল [ start, end ] এর মধ্যে বিদ্যমান ইউনারি সংখ্যার গণনা বের করা।

আমরা নিম্নলিখিত ধাপগুলি দ্বারা সংখ্যাটি ইউনারী কিনা তা পরীক্ষা করতে পারি:যদি আমরা একটি সংখ্যা 13 নিই, তাহলে 12 + 32 =10, তারপর 12 + 02 =1 সুতরাং এইভাবে চূড়ান্ত যোগফল হল 1 তাই 13টি একক।

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

ইনপুট

start=1 end=20

আউটপুট

Count of Unary Numbers in a Range are: 5

ব্যাখ্যা

The numbers are :
1, 7, 10, 12, and 13

ইনপুট

start=50 end=100

আউটপুট

Count of Unary Numbers in a Range are: 7

ব্যাখ্যা

The numbers are −
59, 63, 67, 74, 75, 78, and 89

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

1 এবং 9 এর মধ্যে 1 এবং 7 সংখ্যাগুলি একক। অন্যান্য সংখ্যার জন্য আমরা সংখ্যার বর্গক্ষেত্রের যোগফল ব্যবহার করব যতক্ষণ না এটি 1 দেয়। পরিসরের সমস্ত সংখ্যার জন্য এই প্রক্রিয়াটি চালিয়ে যান। এই পদ্ধতিতে পাওয়া সমস্ত ইউনারী সংখ্যার জন্য বৃদ্ধির সংখ্যা।

  • দুটি পূর্ণসংখ্যা শুরু করুন, ইনপুট হিসাবে শেষ করুন।

  • ফাংশন check_unary(int number) সত্য প্রদান করে যদি পাস করা মানটি unary হয় অন্যথায় মিথ্যা ফেরত দেয়।

  • Unary_range(int start, int end) ফাংশন রেঞ্জ ভেরিয়েবল নেয় এবং রেঞ্জে থাকা unary সংখ্যার গণনা প্রদান করে।

  • প্রাথমিক গণনাটিকে 0 হিসাবে নিন। লুপের জন্য ব্যবহার করে, i=শুরু থেকে শেষ পর্যন্ত অতিক্রম করুন। যদি check_unary(i) true রিটার্ন করে, তাহলে ইনক্রিমেন্ট কাউন্ট।

  • check_unary(int number) এর ভিতরে, অস্থায়ী পরিবর্তনশীল গণনা নিন।

  • যদি N সংখ্যা 1, 7 হয়, তাহলে true দিন। 10-এর কম অন্য সব সংখ্যার জন্য মিথ্যা ফেরত দিন। (সংখ্যা/10 ==0)।

  • তারপর while লুপে অঙ্কের বর্গক্ষেত্রের যোগফল গণনা করুন।

  • যোগফল 1 না হওয়া পর্যন্ত এই ধরনের ক্রমাগত যোগফলের জন্য আবার check_unary(int number) কল করুন।

  • ফলাফল হিসাবে রিটার্ন গণনা।

উদাহরণ

#include <iostream>
using namespace std;
bool check_unary(int number){
   int total;
   if (number == 1 ){
      return true;
   }
   else if(number == 7){
      return true;
   }
   else if (number / 10 == 0){
      return false;
   }
   while (number!= 0){
      int temp = number % 10;
      total = total + temp * temp;
      number = number / 10;
   }
   check_unary(total);
}
int Unary_range(int start, int end){
   int count = 0;
   for (int i = start; i <= end; i++){
      if (check_unary(i) == 1){
         count++;
      }
   }
   return count;
}
int main(){
   int start = 200, end = 400;
   cout<<"Count of Unary Numbers in a Range are: "<<Unary_range(start, end);
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Count of Unary Numbers in a Range are: 31

  1. C++ এ একটি সমতলে সমান্তরালগ্রামের গণনা

  2. C++ এ K হিসাবে ক্ষুদ্রতম ফ্যাক্টর সহ একটি পরিসরে সমস্ত সংখ্যা গণনা করুন

  3. 1 থেকে n পর্যন্ত সংখ্যাগুলি গণনা করুন যেগুলির সংখ্যা C++ এ 4 আছে

  4. C++ এ 1 থেকে N পর্যন্ত প্রায় প্রাইম সংখ্যার গণনা খুঁজুন