Maison >développement back-end >C++ >L'heure à laquelle les aiguilles des minutes et des heures coïncident après une heure donnée

L'heure à laquelle les aiguilles des minutes et des heures coïncident après une heure donnée

WBOY
WBOYavant
2023-09-12 09:29:07678parcourir

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.

Énoncé du problème

À partir d'une heure saisie, recherchez l'heure dans l'heure suivante à laquelle les aiguilles des heures et des minutes coïncident (en minutes).

Exemple

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.

Explication et méthode

Lheure à laquelle les aiguilles des minutes et des heures coïncident après une heure donnée

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.

pseudocode

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.

Exemple

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;
}

Sortie

Coinciding time: 480/11 minutes

Analyse

Complexité temporelle - O(1) [constante]

Complexité spatiale - O(1) [constante]

Conclusion

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer