function n=suicide(nmax,pas)
%SUICIDE(NMAX,PAS) détermine les survivants lors du suicide de NMAX personnes.
% NMAX est le nombre de personnes.
% PAS est le nombre de personnes déterminant la personne suivante
% sur le modèle de la phrase "TOUTES LES "PAS" PERSONNES".
%
% EXEMPLE: N=SUICIDE(100,3) donne les positions des survivants: 58 et 91.

% jbr, 3-3-97

% Initialisation
surv=nmax;
n=1:nmax;
i=0;
pastrouve=1;

% Elimination des individus
while pastrouve
	i=i+pas;
	if i>surv
		j=find(n~=0);	% recherche des survivants
		n=n(j);			% compactage
		i=rem(i,surv);	% nouvelle position
		surv=length(n); % nombre de survivants restants après le tour
	end
	n(i)=0;				% élimination du prochain
	if sum(n~=0)==(pas-1)
		pastrouve=0;	% il reste pas-1 survivants on s'arrête
	end
end

% solution
j=find(n~=0);
n=n(j);
