用 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

更新於:2020年8月3日

290 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告