% Démonstration de l'utilisation des suites de Syracuse

% parcours de 27
nb=27;
n=nb;
suite=[];
while n>1
	if rem(n,2)
		n=3*n+1;
	else
		n=n/2;
	end
	suite=[suite n];
end
plot(suite)
title(['Suite de Syracuse pour ',int2str(nb)])
pause

% Tableau des plus longs parcours jusqu'à N=100 000.
N=[1 2 3 6 7 9 18 25 27 54 73 97 129 171 231 313 327 649 703 ...
   871 1161 2223 2463 2919 3711 6171 10971 13255 17647 23529 ...
   26623 34239 35655 52527 77031];
nb=length(N);
s=zeros(1,nb);
m=zeros(1,nb);
for i=1:nb
	[s(i), m(i)]=syracus(N(i));
end
disp([N;s;m]')
pause

% Tableau des altitudes maximales jusqu'à N=100 000:
N=[1 2 3 7 15 27 255 447 639 703 1819 4255 4591 9663 20895 26623 ...
   31911 60975 77671];
nb=length(N);
s=zeros(1,nb);
m=zeros(1,nb);
t=[];
for i=1:nb
	[s(i), m(i)]=syracus(N(i));
	t=[t;sprintf('%7i %5i %10i',N(i),s(i),m(i))];
end
t

return
% Solution pour parcours

           1           0           1
           2           1           1
           3           7          16
           6           8          16
           7          16          52
           9          19          52
          18          20          52
          25          23          88
          27         111        9232
          54         112        9232
          73         115        9232
          97         118        9232
         129         121        9232
         171         124        9232
         231         127        9232
         313         130        9232
         327         143        9232
         649         144        9232
         703         170      250504
         871         178      190996
        1161         181      190996
        2223         182      250504
        2463         208      250504
        2919         216      250504
        3711         237      481624
        6171         261      975400
       10971         267      975400
       13255         275      497176
       17647         278    11003416
       23529         281    11003416
       26623         307   106358020
       34239         310    18976192
       35655         323    41163712
       52527         339   106358020
       77031         350    21933016
	   
% solution pour les altitudes maximales

      1     0          1
      2     1          1
      3     7         16
      7    16         52
     15    17        160
     27   111       9232
    255    47      13120
    447    97      39364
    639   131      41524
    703   170     250504
   1819   161    1276936
   4255   201    6810136
   4591   170    8153620
   9663   184   27114424
  20895   255   50143264
  26623   307  106358020
  31911   160  121012864
  60975   334  593279152
  77671   231 1570824736
  
