यहां हम एक समस्या देखेंगे, जो यह बता सकती है कि क्या कोई स्ट्रिंग या संख्या केवल 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