हम बिना किसी बाधा के % ऑपरेटर का उपयोग करके गुणकों को ढूंढ सकते हैं। लेकिन, समस्या यह बताती है कि हम % ऑपरेटर का उपयोग नहीं कर सकते।
यहां, हम + ऑपरेटर का उपयोग करते हैं। हम पिछले गुणज में 3 या 5 जोड़कर गुणज प्राप्त कर सकते हैं। आइए एक उदाहरण देखें।
इनपुट
15
आउटपुट
123 - 345 का गुणज - 56 का गुणज - 3789 का गुणज - 310 का गुणज - 51112 का गुणज - 3131415 का गुणज - 3 और 5 दोनों का गुणज
एल्गोरिदम
-
संख्या का प्रारंभ करें n.
-
3 . के अगले गुणज पर नज़र रखने के लिए दो संख्याओं को प्रारंभ करें और 5.
- शुरुआत में वे दो नंबर 3 और 5 होंगे।
-
एक लूप लिखें जो 1 . से पुनरावृत्त हो करने के लिए एन. दोनों समावेशी।
-
जांचें कि क्या वर्तमान संख्या 3 का गुणज है या ट्रैक का अलग-अलग उपयोग नहीं कर रही है।
-
इसी तरह 5 के गुणज की जांच करें।
-
यदि वे 3 या 5 के गुणज हैं, तो अगला गुणज प्राप्त करने के लिए उनमें संबंधित संख्या जोड़ें।
-
संबंधित टेक्स्ट को कंसोल पर प्रिंट करें।
-
कार्यान्वयन
C++ में उपरोक्त एल्गोरिथम का कार्यान्वयन निम्नलिखित है
#includeनामस्थान std का उपयोग करके;void findMultiplesOf3And5(int n) { int threeMultiple =3; इंट फाइवमल्टीपल =5; के लिए (int i =1; i <=n; i++) {बूल _3 =असत्य, _5 =असत्य; अगर (i ==तीन मल्टीपल) {तीन मल्टीपल +=3; _3 =सच; } अगर (i ==पांच मल्टीपल) { पांच मल्टीपल +=5; _5 =सच; } अगर (_3 &&_5) { cout <<"3 और 5 दोनों का बहु" < आउटपुट
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।
दोनों 3 की 31314Multiple और दोनों 3 की 32829Multiple और 34344Multiple की 541Multiple की 3Multiple की 33738Multiple की 5Multiple की 334Multiple की 53132Multiple की 526Multiple की 3Multiple की 32223Multiple की 5Multiple की 319Multiple की 51617Multiple की 511Multiple की 3Multiple की 378Multiple की 5Multiple की 34Multiple की 12Multiple दोनों 3 और दोनों 3 की 35859Multiple की 556Multiple और दोनों 3 की 37374Multiple और की 586Multiple की 3Multiple की 38283Multiple की 5Multiple की 379Multiple की 57677Multiple की 571Multiple की 3Multiple की 36768Multiple की 5Multiple की 364Multiple की 56162Multiple की 3Multiple की 35253Multiple की 5Multiple की 349Multiple की 54647Multiple 388893 और 59192 दोनों का गुणज 394 का गुणन