用 C++ 统计给定数字时钟显示相同数字的次数
假设我们有一个 HH:MM 类型的数字时钟,它只显示小时和分钟。我们得到小时和分钟作为输入。目标是计算所有数字都相同(H=M)的次数。
这种情况一天发生 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。
下面程序中使用的步骤如下
- 变量 hours 和 minutes 存储输入。
- 函数 countIdentical(int hours, int minutes) 获取分钟和小时并返回 HH:MM 数字都相同的次数。
- 对于 00:00,将计数初始化为 1。
- 对于每个小时为 11 和 22,以及分钟为 11 和 22,计数加 1。
- 循环结束后返回结果。
- Count 是期望的结果。
- 打印计数。
示例
// 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
广告