কম্পিউটার

C++ প্রোগ্রাম প্রদত্ত ডিজিটাল রুট সহ একটি পরিসরে সংখ্যা খুঁজে বের করতে


এর অঙ্কের যোগফল একটি সংখ্যার ডিজিটাল রুট খুঁজে পেতে পারে; যদি যোগফল একটি একক অঙ্ক হয়, এটি একটি ডিজিটাল রুট। এই টিউটোরিয়ালে, আমরা একটি সমস্যা নিয়ে আলোচনা করব যেখানে আমাদের একটি সংখ্যার পরিসর এবং একটি পূর্ণসংখ্যা X দেওয়া হয়েছে, এবং আমাদের গণনা করতে হবে যে পরিসরে কতগুলি সংখ্যার ডিজিটাল রুট রয়েছে X হিসাবে যেখানে X হল একক সংখ্যার সংখ্যা, উদাহরণস্বরূপ

ইনপুট:l =13, r =25, X =4 আউটপুট:2 ব্যাখ্যা:পরিসরের সংখ্যা (13,25) সংখ্যার সমষ্টি 4 আছে 13 এবং 22। ইনপুট:l =11, r =57 আউটপুট:6 

সমাধান খোঁজার পদ্ধতি

সরল পদ্ধতি

একটি সহজ পদ্ধতিতে, আমরা l থেকে r পর্যন্ত সংখ্যাগুলি অতিক্রম করতে পারি এবং এর যোগফল X এর সমান কিনা তা পরীক্ষা করতে পারি। তবে এটি O(N) এর একটি সময় জটিলতা তৈরি করবে যেখানে N হল পরিসরের মোট সংখ্যা।

দক্ষ পদ্ধতি

X হিসাবে ডিজিটাল রুট সহ একটি পরিসরে সংখ্যাগুলি খুঁজে পেতে, তাই আমাদের পরিসরের প্রতিটি সংখ্যার অঙ্কের যোগফল K এর সমান কিনা তা পরীক্ষা করতে হবে এবং অঙ্কের যোগফল সর্বদা সংখ্যা % নয়ের সমান হয় এবং অবশিষ্ট থাকলে তা নয়টি হয় 0 আসে, তাই যদি X =9 হয় তাহলে 0 এ পরিবর্তন করুন।

সংখ্যার গণনা বের করতে পুরো পরিসরকে 9-এর গ্রুপে ভাগ করে। তারপর প্রতিটি গ্রুপে ঠিক একটি সংখ্যা থাকবে যার মডিউল নয়টি X-এর সমান হবে। এর পরে, গ্রুপে নেই এমন বাম সংখ্যাগুলি পরীক্ষা করুন; সংখ্যা % 9 =X.

শর্ত পূরণ করতে প্রতিটি সংখ্যা আলাদাভাবে পরীক্ষা করুন

উদাহরণ

উপরের পদ্ধতির জন্য C++ কোড

#include #define ll লং লং ইনটুসিং নেমস্পেস std;int main(){ int l =13; int r =25; int X =4; যদি (X ==9) X =0; // int total =r - l + 1 রেঞ্জের সমস্ত সংখ্যা গণনা করুন; // সংখ্যাগুলিকে সর্বাধিক 9 int গ্রুপে ভাগ করুন =মোট/ 9; // যেহেতু N গোষ্ঠীর জন্য N সংখ্যা থাকবে মডুলো 9 এর সমান X. int ফলাফল =গোষ্ঠী; // সব বাম আউট সংখ্যা int left_out =মোট % 9 চেক করুন; // শর্তের জন্য প্রতিটি অবশিষ্ট নম্বর আলাদাভাবে পরীক্ষা করা হচ্ছে। জন্য (int i =r; i> r - left_out; i--) { int rem =i % 9; যদি (rem ==X) ফলাফল++; } cout <<"প্রদত্ত ডিজিটাল রুট(X) সহ একটি পরিসরে (l, r) মোট সংখ্যাগুলি হল:" <<ফলাফল; রিটার্ন 0;

আউটপুট

প্রদত্ত ডিজিটাল রুট (X) সহ একটি পরিসরে (l, r) মোট সংখ্যা হল:2

উপসংহার

এই টিউটোরিয়ালে, আমরা সংখ্যার পরিসর এবং একটি ডিজিটাল রুট সহ একটি সমস্যা নিয়ে আলোচনা করেছি। আমাদের X হিসাবে ডিজিটাল রুট সহ সমস্ত সংখ্যা খুঁজে বের করতে হবে। আমরা 9 ​​সংখ্যার গোষ্ঠীতে সংখ্যাগুলিকে ভাগ করে এই সমস্যাটি সমাধান করার জন্য একটি সহজ পদ্ধতি এবং একটি কার্যকর পদ্ধতি নিয়ে আলোচনা করেছি।

প্রতিটি গ্রুপে X হিসাবে একটি ডিজিটাল রুট সহ একটি সংখ্যা রয়েছে। আমরা এই সমস্যার জন্য C++ প্রোগ্রাম নিয়েও আলোচনা করেছি যা আমরা C, Java, Python ইত্যাদি প্রোগ্রামিং ভাষার সাথে করতে পারি। আমরা আশা করি আপনার এই টিউটোরিয়ালটি সহায়ক হবে।


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

  2. C++ এ প্রদত্ত দৈর্ঘ্যের যৌগিক সংখ্যার একটি পরিসর খুঁজুন

  3. C++ এ প্রদত্ত সূচক সহ N Fibonacci সংখ্যার GCD খুঁজুন

  4. সংখ্যার প্রদত্ত পরিসরের র্যান্ডমাইজড সিকোয়েন্স তৈরি করতে C++ প্রোগ্রাম