Guest User

CH6 Clock

a guest
Jun 20th, 2011
1,004
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.io.BufferedReader;
  2. import java.io.InputStreamReader;
  3. import java.io.IOException;
  4.  
  5. /*
  6.  * Tuenti Contest
  7.  * Challenge 6 - Clock
  8.  * Author: Pedro Antonio Pardal Jimena
  9.  * Email: pardal@alu.uma.es
  10.  */
  11.  
  12. public class Clock
  13. {
  14.     private static final int[] Segmentos = new int[] {
  15.         6, 2, 5, 5, 4, 5, 6, 3, 7, 6
  16.     };                                               
  17.    
  18.     private static int getCambios( int digito )
  19.     {
  20.         return Segmentos[digito];
  21.     }
  22.    
  23.     private static int cambiosLed( int hora )
  24.     {
  25.         int horas = ( hora / 3600 ) % 12;
  26.         int minutos = ( hora / 60 ) % 60;
  27.         int segundos = hora % 60;
  28.        
  29.         int cambios = 0;
  30.        
  31.         cambios += getCambios( horas / 10 );
  32.         cambios += getCambios( horas % 10 );
  33.         cambios += getCambios( minutos / 10 );
  34.         cambios += getCambios( minutos % 10 );
  35.         cambios += getCambios( segundos / 10 );
  36.         cambios += getCambios( segundos % 10 );
  37.        
  38.         return cambios;
  39.     }
  40.    
  41.     private static int totalCambiosLed( int s )
  42.     {
  43.         int cambios = 0;
  44.        
  45.         for ( int i = 0; i <= s; i++ )
  46.         {
  47.             cambios += cambiosLed( i );
  48.         }
  49.        
  50.         return cambios;
  51.     }
  52.    
  53.     private static int parseInput( String linea )
  54.     {
  55.         int segundos = Integer.parseInt( linea );
  56.        
  57.         return totalCambiosLed( segundos );
  58.     }
  59.    
  60.     public static void main( String[] args ) throws IOException
  61.     {
  62.         BufferedReader reader = new BufferedReader( new InputStreamReader( System.in ) );
  63.        
  64.         while ( reader.ready() )
  65.         {
  66.             String linea = reader.readLine();
  67.             int result = parseInput( linea );
  68.            
  69.             System.out.println( result );
  70.         }
  71.     }
  72. }
RAW Paste Data