আমাদের একটি ডিজিটাল ঘড়ি HH:MM ফরম্যাটে আছে। ঘণ্টা ও মিনিট ইনপুট হিসেবে দেওয়া থাকবে। লক্ষ্য হলো সমস্ত ডিজিট একই (H=M) হওয়ার ঘটনা কতবার ঘটে তা গণনা করা। ২৪ ঘণ্টা ফরম্যাটে এটি দিনে ৩ বার ঘটে: 00:00, 11:11, 22:22।
ইনপুট
Input: 12 hours 22 minutes.
আউটপুট
2
ব্যাখ্যা: 12 ঘণ্টা 22 মিনিটের মধ্যে 00:00 এবং 11:11 - মোট ২ বার।
ইনপুট
Input: 48 hours 22 minutes.
আউটপুট
5
ব্যাখ্যা: 48 ঘণ্টা 22 মিনিটের মধ্যে 00:00, 11:11, 22:22 (প্রতিটি দুইবার করে) - মোট ৫ বার।
প্রোগ্রামে ব্যবহৃত পদ্ধতি
- hours এবং minutes ভেরিয়েবলে ইনপুট স্টোর করা।
- countIdentical(int hours, int minutes) ফাংশন ঘণ্টা ও মিনিট নিতে এবং সমান ডিজিটের ঘটনা রিটার্ন করে।
- 00:00 এর জন্য count = 1 দিয়ে ইনিশিয়ালাইজ করা।
- ১১ এবং ২২ ঘণ্টা ও মিনিটের জন্য লুপে count বাড়ানো।
- লুপ শেষে ফলাফল রিটার্ন করা।
উদাহরণ কোড
#include <bits/stdc++.h>
using namespace std;
int countIdentical(int hours, int minutes){
int i, count = 1; // 00:00 এর জন্য
for (i = 0; i <= 99 && i < hours; i = i + 11) {
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