program syracuse;

var min,max,m,n : longint;
    fichier     : text;

    champion     : longint;
    cpt, maximum : integer;


begin


   { Ouverture du fichier }

   assign(fichier,'syracuse.html');
   rewrite(fichier);

   { En-tete du fichier HTML }

   writeln(fichier,'<HTML>');
   writeln(fichier,'<HEAD>');
   writeln(fichier,'<TITLE>');
   writeln(fichier,'Conjecture de Syracuse');
   writeln(fichier,'</TITLE>');
   writeln(fichier,'<LINK REL="stylesheet" TYPE="text/css" HREF="https://fabien-torre.fr/include/css/ft-v1.css">');

   writeln(fichier,'</HEAD>');
   writeln(fichier,'<BODY>');
   writeln(fichier,'<H1>Conjecture de Syracuse</H1>');

   { Test de la conjecture de Syracuse sur un intervalle d'entiers }

   { Initialisation des variables }

   min :=    1;
   max := 1000;

   writeln(fichier,'<H2>V&eacute;rification de la conjecture entre ',min,' et ',max,'</H2>');
   writeln(fichier,'<BR><CENTER>');
   writeln(fichier,'<TABLE BORDER="1" CELLPADDING="5">');
   writeln(fichier,'<TR><TH>Entier</TH><TH>Dur&eacute;e de vol</TH></TR>');


   maximum := 0;

   for m:=min to max do begin

      n   := m;
      cpt := 0;

      while (n <> 1) do begin

        cpt := cpt + 1;
	if (n mod 2 = 0)
	then n := n div 2
	else n := 3*n+1;

      end;

      writeln(fichier,'<TR><TH>',m,'</TH><TD ALIGN="center">',cpt,'</TD></TR>');

      if (cpt > maximum) then begin

	 maximum  := cpt;
	 champion := m;
      end;

   end;

   writeln(fichier,'</TABLE>');
   writeln(fichier,'</CENTER>');

   { Sortie de l'entier ayant la plus grand dur‚e de vol }

   writeln(fichier,'<H2>Entier ayant la plus grande dur&eacute;e de vol</H2>');
   writeln(fichier,'<BR><CENTER>');
   writeln(fichier,'<TABLE BORDER="1" CELLPADDING="5">');

   writeln(fichier,'<TR><TH ALIGN="left">Champion</TH><TD>',champion,'</TD></TR>');
   writeln(fichier,'<TR><TH ALIGN="left">Dur&eacute;e de vol</TH><TD>',maximum,'</TD></TR>');

   writeln(fichier,'</TABLE>');
   writeln(fichier,'</CENTER>');

   { Fin du fichier et fermeture }

   writeln(fichier,'<BR><BR><BR><HR><BR>');

   writeln(fichier,'</BODY>');
   writeln(fichier,'</HTML>');

   close(fichier);

end.

