এখানে আমরা একটি সমস্যা দেখতে পাব, যা বলতে পারে যে একটি স্ট্রিং বা একটি সংখ্যা শুধুমাত্র 1, 14 বা 144 এর সংমিশ্রণ কিনা। ধরুন একটি স্ট্রিং হল "111411441", এটি বৈধ, কিন্তু "144414" বৈধ নয়৷
কাজটি সহজ, আমাদের শেষ থেকে একটি একক সংখ্যা, দ্বি-সংখ্যা এবং ত্রি-সংখ্যার সংখ্যা আনতে হবে এবং এই তিনটির (1, 14 এবং 144) যেকোনো একটির সাথে মিল আছে কিনা তা পরীক্ষা করতে হবে, যদি আমরা একটি মিল পাই, ভাগ করতে হবে। সংখ্যাটি এর সাথে, এবং পুরো সংখ্যাটি শেষ না হওয়া পর্যন্ত এই প্রক্রিয়াটি পুনরাবৃত্তি করুন৷
উদাহরণ
#include <iostream> #include <cmath> using namespace std; bool checkNumber(long long number) { int n = number; while (n > 0) { if (n % 1000 == 144) n /= 1000; else if (n % 100 == 14) n /= 100; else if (n % 10 == 1) n /= 10; else { return false; } } return true; } int main() { long long n = 111411441; if(checkNumber(n)){ cout << "Valid number"; } else { cout << "Invalid number"; } }
আউটপুট
Valid number