एक नॉन-नेगेटिव नंबर दिया गया है, कार्य उसका सबसे छोटा अंक ढूंढना है।
उदाहरण के लिए
इनपुट:
N = 154870
आउटपुट:
0
व्याख्या: दिए गए नंबर '154870' में, सबसे छोटा अंक '0' है।
इस समस्या को हल करने का दृष्टिकोण
इस समस्या को हल करने का सबसे सरल दृष्टिकोण दिए गए नंबर में अंतिम अंक को शेष प्रमेय का उपयोग करके निकालना है। नंबर को ट्रैवर्स करते समय, हम जांचेंगे कि क्या निकाला गया अंक अंतिम अंक से कम है, तो आउटपुट लौटाएं।
- इनपुट के रूप में एक नंबर n लें।
- एक पूर्णांक फ़ंक्शन smallest_digit(int n) 'n' को इनपुट के रूप में लेता है और दिए गए नंबर में सबसे छोटा अंक लौटाता है।
- अब मिन को दिए गए नंबर के अंतिम अंक के रूप में इनिशियलाइज़ करें।
- नंबर के माध्यम से पुनरावृति करें और जांचें कि क्या निकाला गया नंबर न्यूनतम संख्या से कम है। यदि सही है, तो न्यूनतम संख्या अपडेट करें और आउटपुट लौटाएं।
- n/10 द्वारा अंतिम अंक हटाएं और जांचें कि क्या कोई अन्य अंक वर्तमान अंक से कम है।
- आउटपुट लौटाएं।
उदाहरण
#include <iostream>
using namespace std;
int smallest_digit(int n) {
int min = n % 10; // मान लें कि अंतिम अंक सबसे छोटा है
n /= 10; // दूसरे अंतिम अंक से शुरू करने के लिए
while (n != 0) {
if (min > n % 10)
min = n % 10;
n /= 10;
}
return min;
}
int main() {
int n = 154870;
cout << smallest_digit(n);
return 0;
}
उपरोक्त कोड चलाने से आउटपुट इस प्रकार उत्पन्न होगा,
आउटपुट
0
व्याख्या: दिए गए नंबर '154870' में, सबसे छोटा अंक '0' है।