PROGRAM Sieben_Segment_Zaehler;

{Zu welcher Uhrzeit leuchten di meisten Segemente einer 7 Segment Uhr mit
6 Ziffern, wobei die erste Ziffer erst bei 10 Uhr angeschaltet wird.}

VAR   H,M,S : Integer; {Laufvariablen}
      Max,Akt : Integer; {Vergleich Segmentzahl}
      Hmerk,Smerk,Mmerk : Integer; {merkt sich die Uhrzeit bei der am meisten Segemente leuchten}

CONST Digits : ARRAY [0..9] OF Integer=(6,2,5,5,4,5,5,3,7,5);
{Anzahl der Segmente pro Ziffer}

BEGIN
  Max:=0;
  FOR H:=0 TO 23 DO
  FOR M:=0 TO 59 DO
  FOR S:=0 TO 59 DO
  BEGIN
    IF H<10 THEN Akt:=Digits[H] ELSE Akt:=Digits[H MOD 10]+Digits[H DIV 10];
    Akt:=Akt+Digits[M MOD 10]+Digits[M DIV 10];
    Akt:=Akt+Digits[S MOD 10]+Digits[S DIV 10];
    IF Akt>=Max THEN
    BEGIN
      Smerk:=S;
      Hmerk:=H;
      Mmerk:=M;
      Max:=Akt;
    END;
  END;
  WriteLn(Hmerk,':',Mmerk,':',Smerk);
  WriteLn(Max,'Segmente leuchten.');
END.

