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