मान लीजिए हमारे पास HH:MM प्रकार की एक डिजिटल घड़ी है। जो समय को घंटे और मिनट में ही दिखाता है। हमें इनपुट के रूप में कई घंटे और मिनट दिए जाते हैं। लक्ष्य सभी अंकों के समान होने की संख्या की गणना करना है। एच=एम.
यह दिन में 3 बार होता है, पहले मध्यरात्रि 00:00 बजे, फिर 11:11 बजे और अंतिम 22:22 बजे। समय को 24 घंटे के प्रारूप में दर्शाया गया है।
इनपुट
Input: 12 hours 22 minutes.
आउटपुट
2
स्पष्टीकरण - 00:00 और 11:11 समय के लिए। 12 घंटे में दो बार।
इनपुट
Input: 48 hours 22 minutes.
आउटपुट
5
स्पष्टीकरण − 00:00 और 11:11, 22:22 समय के लिए।
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
- चर घंटे और मिनट इनपुट को स्टोर करते हैं।
- फ़ंक्शन काउंट इडेंटिकल (इंट आवर्स, इंट मिनट्स) में मिनट और घंटे लगते हैं और रिटर्न काउंट ऑफ़ नं। कई बार सभी HH;MM अंक समान होते हैं।
- 00:00 के लिए आरंभिक गणना 1 के रूप में करें।
- प्रत्येक घंटे के लिए 11 और 22 और मिनट के रूप में 11 और 22 की वृद्धि की गणना 1.
- लूप समाप्त होने के बाद परिणाम लौटाएं।
- गणना वांछित परिणाम है।
- गणना प्रिंट करें।
उदाहरण
// C++ implementation of the approach #include <bits/stdc++.h> using namespace std; // examples- 11:11 11hrs 11 mins, 22:22 int countIdentical(int hours, int minutes){ // Initialized to 1 because of 00:00 int i, count=1; // For double digit hours for (i = 0; i <= 99 && i < hours; i = i + 11) { // Double digit minutes if ((i % 10) < minutes) count++; } return count; } int main(){ int hours = 48; int minutes = 22; cout <<"Times when all digits are identical in HH:MM :" << countIdentical(hours, minutes); return 0; }
आउटपुट
Times when all digits are identical in HH:MM : 6