কম্পিউটার

পরিসরে সংখ্যার গণনা যেখানে প্রথম সংখ্যা C++ সংখ্যার শেষ সংখ্যার সমান


শুরু এবং শেষের মধ্যে সংখ্যার একটি পরিসর দেওয়া হয়েছে। লক্ষ্য হল এমন সংখ্যার গণনা খুঁজে বের করা যেগুলির প্রথম সংখ্যাটি শেষ অঙ্কের সমান এবং [প্রথম, শেষ] পরিসরে পড়ে৷

সমস্ত একক সংখ্যার সংখ্যা গণনা করা হবে যদি তারা পরিসরে থাকে।

আসুন উদাহরণ দিয়ে বোঝা যাক।

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

ইনপুট - শুরু =100, শেষ =200

আউটপুট - পরিসরে সংখ্যার গণনা যেখানে প্রথম সংখ্যাটি সংখ্যার শেষ সংখ্যার সমান:10

ব্যাখ্যা - সংখ্যাগুলো হবে:

101, 121, 131, 141, 151, 161, 171, 181 এবং 191৷

ইনপুট - শুরু =1, শেষ =10

আউটপুট - পরিসরে সংখ্যার গণনা যেখানে প্রথম সংখ্যাটি সংখ্যার শেষ সংখ্যার সমান:9

ব্যাখ্যা - সমস্ত 1-সংখ্যার সংখ্যা গণনা করা হবে। 1, 2, 3, 4, 5, 6, 7, 8, 9

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

সমস্ত একক সংখ্যা সংখ্যা [শুরু, শেষ] পরিসরে থাকলে গণনা করা হবে। এখন প্রতিটি সংখ্যার জন্য প্রথম এবং শেষ সংখ্যা পরীক্ষা করুন। যদি প্রথম সংখ্যাটি শেষের থেকে বড় হয় তাহলে গণনার জন্য 8 + val/10 যোগ করুন, যদি ছোট হয় তাহলে গণনায় 9 + val/10 যোগ করুন। এখানে val হল রিকারসিভ কল টু রেঞ্জের বর্তমান নম্বর (int val)।

  • পরিসীমা ভেরিয়েবল হিসাবে পূর্ণসংখ্যার শুরু এবং শেষ নিন।
  • সেট গণনা =পরিসর (শেষ) - পরিসীমা(শুরু)।
  • ফাংশন রেঞ্জ (int val) পূর্ণসংখ্যা নেয় এবং রেঞ্জে সংখ্যার গণনা প্রদান করে যেখানে প্রথম সংখ্যাটি সংখ্যার শেষ সংখ্যার সমান।
  • প্রাথমিক গণনাকে 0 হিসাবে নিন।
  • শেষটিকে শেষ সংখ্যা হিসাবে ধরুন যা হল val%10।
  • রিটার্ন ভ্যাল যদি এটি একটি একক সংখ্যার সংখ্যা (10 এর কম) হয়।
  • এখন while loop ব্যবহার করে start=val%10 হিসাবে গণনা করুন। ভ্যাল 10 দ্বারা কমিয়ে দিন। সুতরাং শুরুতে এটিতে প্রথম সংখ্যা থাকবে।
  • এখন যদি শুরু<=শেষ হয় তাহলে গণনা করতে 9 + set_val / 10 যোগ করুন।
  • এখন যদি শুরু>শেষ হয় তাহলে গণনা করতে 8 + set_val / 10 যোগ করুন।
  • শেষে ফলাফল হিসাবে গণনা করুন।

উদাহরণ

#include <iostream>
using namespace std;

int range(int val) {
   int count = 0;
   int start;
   int end = val % 10;
   int set_val = val;

   if (val < 10) {
      return val;
   }
   end = val % 10;
   while (val) {
      start = val % 10;
      val = val / 10;
   }
   if (start <= end) {
      count = 9 + set_val / 10;
   } else {
      count = 8 + set_val / 10;
   }
   return count;
}
int main() {
   int start = 10, end = 50;
   int count = range(end) - range(start);
   cout << "Count of Numbers in Range where first digit is equal to last digit of the number are: " << count;
   return 0;
}

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

আউটপুট

Count of Numbers in Range where first digit is equal to last digit of the number are: 4


  1. C++ এ [a,b] রেঞ্জের সমষ্টি সহ একটি অ্যারেতে ট্রিপলেটের সংখ্যা গণনা করুন

  2. C++ এ প্রদত্ত সংখ্যা দ্বারা বিভাজ্য n সংখ্যার সংখ্যা গণনা করুন

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

  4. সংখ্যার বিন্যাসের গুণফলের প্রথম সংখ্যা খুঁজে পেতে C++ প্রোগ্রাম