Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

주어진 디지털 시계가 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 .

아래 프로그램에서 사용된 접근 방식은 다음과 같습니다.

  • 변수 시와 분은 입력을 저장합니다.
  • 함수 countIdentical(int hour, int minutes)은 분과 시간이 걸리고 countof no를 반환합니다. 모든 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