Dado un tiempo en el formato de hh:mm (formato de 12 horas) 0 < hh < 12, 0 <= mm < 60. La tarea es convertirlo en palabras como se muestra:
Ejemplos:
Input : h = 5, m = 0 Output : five o' clock Input : h = 6, m = 24 Output : twenty four minutes past six
Los casos de esquina son m = 0, m = 15, m = 30 y m = 45.
6:00 six o'clock 6:10 ten minutes past six 6:15 quarter past six 6:30 half past six 6:45 quarter to seven 6:47 thirteen minutes to seven
La idea es usar la declaración if-else-if para determinar el tiempo en palabras. De acuerdo con el ejemplo anterior, en función de los minutos, podemos categorizar el tiempo en palabras en 8, que son minutos iguales a 0, 15, 30, 45, 1, 59, y en un rango inferior a 30 o superior a 30. Verifique el valor de los minutos e imprima en consecuencia.
A continuación se muestra la implementación de este enfoque:
C++
// C++ program to convert time into words #include <bits/stdc++.h> using namespace std; // Print Time in words. void printWords(int h, int m) { char nums[][64] = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen", "twenty", "twenty one", "twenty two", "twenty three", "twenty four", "twenty five", "twenty six", "twenty seven", "twenty eight", "twenty nine", }; if (m == 0) printf("%s o' clock\n", nums[h]); else if (m == 1) printf("one minute past %s\n", nums[h]); else if (m == 59) printf("one minute to %s\n", nums[(h % 12) + 1]); else if (m == 15) printf("quarter past %s\n", nums[h]); else if (m == 30) printf("half past %s\n", nums[h]); else if (m == 45) printf("quarter to %s\n", nums[(h % 12) + 1]); else if (m <= 30) printf("%s minutes past %s\n", nums[m], nums[h]); else if (m > 30) printf("%s minutes to %s\n", nums[60 - m], nums[(h % 12) + 1]); } // Driven Program int main() { int h = 6; int m = 24; printWords(h, m); return 0; }
Java
// Java program to convert time into words class GFG { // Print Time in words. static void printWords(int h, int m) { String nums[] = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen", "twenty", "twenty one", "twenty two", "twenty three", "twenty four", "twenty five", "twenty six", "twenty seven", "twenty eight", "twenty nine", }; if (m == 0) System.out.println(nums[h] + " o' clock "); else if (m == 1) System.out.println("one minute past " + nums[h]); else if (m == 59) System.out.println("one minute to " + nums[(h % 12) + 1]); else if (m == 15) System.out.println("quarter past " + nums[h]); else if (m == 30) System.out.println("half past " + nums[h]); else if (m == 45) System.out.println("quarter to " + nums[(h % 12) + 1]); else if (m <= 30) System.out.println( nums[m] + " minutes past " + nums[h]); else if (m > 30) System.out.println( nums[60 - m] + " minutes to " + nums[(h % 12) + 1]); } // Driven code public static void main(String []args) { int h = 6; int m = 24; printWords(h, m); } } // This code is contributed by ihritik
Python3
# Python3 program to convert # time into words # Print Time in words. def printWords(h, m): nums = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen", "twenty", "twenty one", "twenty two", "twenty three", "twenty four", "twenty five", "twenty six", "twenty seven", "twenty eight", "twenty nine"]; if (m == 0): print(nums[h], "o' clock"); elif (m == 1): print("one minute past", nums[h]); elif (m == 59): print("one minute to", nums[(h % 12) + 1]); elif (m == 15): print("quarter past", nums[h]); elif (m == 30): print("half past", nums[h]); elif (m == 45): print("quarter to", (nums[(h % 12) + 1])); elif (m <= 30): print(nums[m],"minutes past", nums[h]); elif (m > 30): print(nums[60 - m], "minutes to", nums[(h % 12) + 1]); # Driver Code h = 6; m = 24; printWords(h, m); # This code is contributed # by Princi Singh
C#
// C# program to convert time into words using System; class GFG { // Print Time in words. static void printWords(int h, int m) { string [] nums = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen", "twenty", "twenty one", "twenty two", "twenty three", "twenty four", "twenty five", "twenty six", "twenty seven", "twenty eight", "twenty nine", }; if (m == 0) Console.WriteLine(nums[h] + " o' clock "); else if (m == 1) Console.WriteLine("one minute past " + nums[h]); else if (m == 59) Console.WriteLine("one minute to " + nums[(h % 12) + 1]); else if (m == 15) Console.WriteLine("quarter past " + nums[h]); else if (m == 30) Console.WriteLine("half past " + nums[h]); else if (m == 45) Console.WriteLine("quarter to " + nums[(h % 12) + 1]); else if (m <= 30) Console.WriteLine( nums[m] + " minutes past " + nums[h]); else if (m > 30) Console.WriteLine( nums[60 - m] + " minutes to " + nums[(h % 12) + 1]); } // Driven code public static void Main() { int h = 6; int m = 24; printWords(h, m); } } // This code is contributed by ihritik
PHP
<?php // PHP program to convert // time into words // Print Time in words. function printWords($h, $m) { $nums = array("zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen", "twenty", "twenty one", "twenty two", "twenty three", "twenty four", "twenty five", "twenty six", "twenty seven", "twenty eight", "twenty nine"); if ($m == 0) echo $nums[$h], "o' clock\n" ; else if ($m == 1) echo "one minute past ", $nums[$h], "\n"; else if ($m == 59) echo "one minute to ", $nums[($h % 12) + 1], "\n"; else if ($m == 15) echo "quarter past ", $nums[$h], "\n"; else if ($m == 30) echo "half past ", $nums[$h],"\n"; else if ($m == 45) echo "quarter to ", ($nums[($h % 12) + 1]), "\n"; else if ($m <= 30) echo $nums[$m], " minutes past ", $nums[$h],"\n"; else if ($m > 30) echo $nums[60 - $m], " minutes to ", $nums[($h % 12) + 1], "\n"; } // Driver Code $h = 6; $m = 24; printWords($h, $m); // This code is contributed by aj_36 ?>
Javascript
<script> // Javascript program to convert time into words // Print Time in words. function printWords(h, m) { let nums = [ "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen", "twenty", "twenty one", "twenty two", "twenty three", "twenty four", "twenty five", "twenty six", "twenty seven", "twenty eight", "twenty nine", ]; if (m == 0) document.write(nums[h] + " o' clock " + "</br>"); else if (m == 1) document.write("one minute past " + nums[h] + "</br>"); else if (m == 59) document.write("one minute to " + nums[(h % 12) + 1] + "</br>"); else if (m == 15) document.write("quarter past " + nums[h] + "</br>"); else if (m == 30) document.write("half past " + nums[h] + "</br>"); else if (m == 45) document.write("quarter to " + nums[(h % 12) + 1] + "</br>"); else if (m <= 30) document.write( nums[m] + " minutes past " + nums[h] + "</br>"); else if (m > 30) document.write( nums[60 - m] + " minutes to " + nums[(h % 12) + 1] + "</br>"); } let h = 6; let m = 24; printWords(h, m); </script>
Producción :
twenty four minutes past six
Complejidad de tiempo: O(1)
Este artículo es una contribución de Anuj Chauhan . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA