এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখতে যাচ্ছি যা প্রদত্ত নম্বরটি কিথ নম্বর কিনা তা পরীক্ষা করে। বা না।
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
উপসংহার
টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।