समस्या कथन
भाग्यशाली संख्याएं वे धनात्मक पूर्णांक हैं जिनके दशमलव प्रतिनिधित्व में केवल भाग्यशाली अंक 4 और 7 होते हैं। कार्य न्यूनतम भाग्यशाली संख्या खोजना है जिसके अंकों का योग n के बराबर हो।
उदाहरण
यदि योग = 22 तो भाग्यशाली संख्या 4477 है क्योंकि 4 + 4 + 7 + 7 = 22
एल्गोरिदम
1. यदि योग 4 का गुणक है, तो परिणाम में सभी 4 होंगे। 2. यदि योग 7 का गुणक है, तो परिणाम में सभी 7 होंगे। 3. यदि योग 4 या 7 का गुणक नहीं है, तो हम उनमें से एक को तब तक घटा सकते हैं जब तक योग दूसरे का गुणक न बन जाए।
उदाहरण
#include <bits/stdc++.h> using namespace std; void luckyNumber(int sum) { int a, b; a = b = 0; while (sum > 0) { if (sum % 7 == 0) { ++b; sum = sum - 7; } else if (sum % 4 == 0) { ++a; sum = sum - 4; } else { ++a; sum = sum - 4; } } cout << "उत्तर = "; if (sum < 0) { cout << "-1\n" << endl; return; } for (int i = 0; i < a; ++i) { cout << "4"; } for (int i = 0; i < b; ++i) { cout << "7"; } cout << endl; } int main() { int sum = 22; luckyNumber(sum); return 0; }जब आप उपरोक्त प्रोग्राम को संकलित और निष्पादित करते हैं। यह निम्नलिखित आउटपुट उत्पन्न करता है
आउटपुट
उत्तर = 4477