C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

指定されたデジタル時計がC++で同じ数字を表示する回数を数えます


タイプHH:MMのデジタル時計があるとします。これは、時間を時間と分のみで表示します。入力として時間と分が与えられます。目標は、すべての桁が同じである回数を数えることです。 H=M。

これは1日3回、最初は深夜00:00に、次に11:11に、最後は22:22に発生します。時間は24時間形式で表されます。

入力

Input: 12 hours 22 minutes.

出力

2

説明 −時間00:00および11:11の場合。 12時間で2回。

入力

Input: 48 hours 22 minutes.

出力

5

説明 −時間00:00および11:11、22:22の場合。

以下のプログラムで使用されているアプローチは次のとおりです

  • 変数の時間と分は入力を保存します。
  • 関数countIdentical(int hours、int minutes)は分と時間かかり、countofnoを返します。多くの場合、すべてのHH;MM桁は同じです。
  • 00:00の場合、カウントを1として初期化します。
  • 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

  1. C ++を使用してOpenCVのフレームの総数をカウントするにはどうすればよいですか?

    OpenCVでフレームの総数を計算する方法を学びます。 OpenCVを使用すると、ビデオのフレームの総数をカウントして表示するのが基本です。ただし、リアルタイムビデオフレームの総数をカウントできないことに注意する必要があります。リアルタイム動画には特定のフレーム数がないためです。 次のプログラムは、合計フレーム数をカウントし、コンソールウィンドウに表示します。 例 #include<opencv2/opencv.hpp> #include<iostream> using namespace std; using namespace cv; int main() { &

  2. C++のグリッドで指定された方向に可能な移動をカウントします

    サイズnxmのグリッドと開始点x、yを表す2つの変数nとmです。 また、移動((1,1)、(2,2))などとしてグリッド内を移動するために実行できるステップ/移動のペアも指定されます。移動の各ペアは、x、y軸で実行されるステップの単位を表します。目標は、境界[1、n] X [1、m]内のグリッド内をトラバースするために実行できる合計ステップを見つけることです。nが5、mが4、現在の位置が2、2で、選択されたステップが( 1、-1)次に、このステップを1回実行すると、(3,1)になります。このステップを再度実行すると、(4、-1)になります。これは、-1が範囲外であるため無効です。 例