একটি ভদ্র সংখ্যা হল একটি ধনাত্মক সংখ্যা যা 2 বা তার বেশি ধারাবাহিক ধনাত্মক সংখ্যার যোগফল হিসাবে লেখা যেতে পারে।
ভদ্র সংখ্যার সিরিজ হল
3 5 6 7 9 10 11 12 13 14...
n-ম নম্র সংখ্যা বের করার জন্য একটি সূত্র আছে। সূত্রটি হল n + log2 (n + লগ2 (n))। ডিফল্ট লগ বেস e দিয়ে গণনা করে। আমাদের বেস 2 ব্যবহার করে গণনা করতে হবে। বেস e দিয়ে লগের মান পেতে log(2) দিয়ে ডিফল্ট লগ ফলাফল ভাগ করুন।
অ্যালগরিদম
- n-ম ভদ্র সংখ্যার অ্যালগরিদম সোজা।
- সংখ্যা N শুরু করুন।
- ন-ম ভদ্র সংখ্যা গণনা করতে উপরের সূত্রটি ব্যবহার করুন।
- n-ম ভদ্র সংখ্যা গণনা করার আগে n-এর মান 1 দ্বারা বৃদ্ধি নিশ্চিত করুন৷
বাস্তবায়ন
C++
-এ উপরের অ্যালগরিদমের বাস্তবায়ন নিচে দেওয়া হল#include <bits/stdc++.h> using namespace std; double getNthPoliteNumber(double n) { n += 1; return n + (log((n + (log(n) / log(2.0))))) / log(2.0); } int main() { double n = 10; cout << (int)getNthPoliteNumber(n) << endl; return 0; }
আউটপুট
আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।
14