এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখতে যাচ্ছি যা প্রদত্ত নম্বরটি কিথ নম্বর কিনা তা পরীক্ষা করে। বা না।
n সংখ্যাটিকে কিথ নম্বর বলা হয় যদি এটি তার অঙ্কগুলি ব্যবহার করে তৈরি করা ক্রম অনুসারে প্রদর্শিত হয়। ক্রমটিতে প্রথম n পদ রয়েছে n সংখ্যার সংখ্যা হিসাবে এবং অন্যান্য পদগুলিকে পুনরাবৃত্তভাবে পূর্ববর্তী n পদের যোগফল হিসাবে মূল্যায়ন করা হয়।
আসুন সমস্যা সমাধানের পদক্ষেপগুলি দেখি৷
৷- সংখ্যা n শুরু করুন।
- ক্রম সংরক্ষণ করার জন্য একটি খালি ভেক্টর উপাদান শুরু করুন।
- অঙ্কগুলি গণনা করুন এবং ভেকারে প্রতিটি অঙ্ক যোগ করুন৷ ৷
- অঙ্ক ভেক্টর বিপরীত করুন।
- 0 দিয়ে একটি ভেরিয়েবল শুরু করুন যাকে পরবর্তী উপাদান বলা হয়।
- একটি লুপ লিখুন যা পরবর্তী উপাদানটি n-এর থেকে কম না হওয়া পর্যন্ত পুনরাবৃত্তি করে
- পরবর্তী উপাদান পেতে শেষ n সংখ্যা যোগ করুন।
- ভেক্টরে পরবর্তী উপাদান যোগ করুন।
উদাহরণ
আসুন কোডটি দেখি।
#include<bits/stdc++.h> using namespace std; bool isKeithNumber(int n) { vector<int> elements; int temp = n, digitsCount = 0; while (temp > 0) { elements.push_back(temp % 10); temp = temp / 10; digitsCount++; } reverse(elements.begin(), elements.end()); int nextElement = 0, i = digitsCount; while (nextElement < n) { nextElement = 0; for (int j = 1; j <= digitsCount; j++) { nextElement += elements[i - j]; } elements.push_back(nextElement); i++; } return nextElement == n; } int main() { isKeithNumber(43) ? cout << "Yes" << endl : cout << "No" << endl; isKeithNumber(14) ? cout << "Yes" << endl : cout << "No" << endl; isKeithNumber(197) ? cout << "Yes" << endl : cout << "No" << endl; return 0; }
আউটপুট
আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।
No Yes Yes
উপসংহার
টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।