Maison >développement back-end >C++ >L'heure à laquelle les aiguilles des minutes et des heures coïncident après une heure donnée
Lorsque l'aiguille des minutes passe de 12 à 12 en une heure, l'aiguille des heures passe également de l'heure précédente à l'heure suivante.
Ainsi, toutes les heures, l’aiguille des minutes et l’aiguille des heures coïncident.
À partir d'une heure saisie, recherchez l'heure dans l'heure suivante à laquelle les aiguilles des heures et des minutes coïncident (en minutes).
Entrée - heures = 4
Sortie - Temps de coïncidence : 240/11 minutes.
Nous discuterons plus en détail de l’explication de cette méthode.
Entrée - heures = 5
Sortie - Temps de coïncidence : 300/11 minutes.
Lorsque l'aiguille des minutes parcourt un cercle complet en une heure, l'aiguille des heures passe également d'une heure à l'autre. Donc, mathématiquement - ;
L'aiguille des minutes bouge pendant 60 minutes et l'aiguille des heures bouge pendant 5 minutes.
ou-
Lorsque l'aiguille des minutes fait 60 pas, l'aiguille des heures fait 5 pas.
Donc -
Aiguille des minutes 60 pas == Aiguille des heures 5 pas
Donc -
1 pas pour l'aiguille des minutes = 1/12 pas pour l'aiguille des heures
Maintenant, supposons qu'il faut m minutes pour que les aiguilles des heures et des minutes coïncident.
Si l'heure de saisie est h -
Ensuite, l'aiguille des minutes doit bouger h*5 minutes plus le nombre de minutes écoulées par l'aiguille des heures depuis cette heure.
Par conséquent, m = h*5 + m/12. (m/12 = le nombre de minutes depuis que l'aiguille des heures a commencé à entrer l'heure).
Prenez LCM -
mètre = (hauteur*5*12 + mètre)/12
12m = 60*h + mètres
12 mètres - mètres = 60*hauteur
11m = 60*h
Donc, m = 60*h/11
Maintenant, considérons l'exemple ci-dessus et vérifions la formule.
Entrez l'heure = 4
L'heure (en minutes) à laquelle les aiguilles des heures et des minutes coïncident est :
Minutes = 60*Heures/11
Par conséquent, m = 60*4/11
Minutes = 240/11 minutes.
De même, pour les heures de saisie = 5,
mètre=60*5/11
Cela fait 300/11 minutes.
Nous pouvons utiliser la formule ci-dessus et écrire notre solution.
Fonction principale :
Initialisez l'heure de saisie.
Appelez la fonction cociding_time(hour).
coinciding_time (heures entières) :
Heure -> 60* heures/11
Heure d'impression.
Vous trouverez ci-dessous un programme C++ pour trouver l'heure après une heure donnée lorsque l'aiguille des minutes et l'aiguille des heures coïncident.
#include<bits/stdc++.h> using namespace std; //Function to find the time in minutes. void coincide_time(int hour){ //Temporary variable int temp = 60*hour; cout<<"Coinciding time: "; cout<< temp<<"/"<<11<<" minutes"<<endl; } int main(){ //Initialize the input hour int hour = 8; //Function call coincide_time(hour); return 0; }
Coinciding time: 480/11 minutes
Complexité temporelle - O(1) [constante]
Complexité spatiale - O(1) [constante]
Dans cet article, nous découvrons quand les aiguilles des heures et des minutes coïncident. Nous dérivons cette formule en utilisant la méthode unitaire et la comprenons à travers quelques exemples. Nous avons ensuite utilisé cette formule pour écrire du pseudocode et écrire la solution en C++.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!