/* Auteur: Nicolas JANEY */ /* nicolas.janey@univ-fcomte.fr */ /* Fevrier 2005 */ import java.io.*; public class JosephusFlavius3 { static BufferedReader flux = new BufferedReader(new InputStreamReader(System.in)); public static int eliminationJosephusFlavius(int n,int k) { boolean [] mort = new boolean[n]; for ( int i = 1 ; i < n ; i++ ) mort[i] = false; int pos = 0; mort[pos] = true; System.out.println("Mort de "+0); int morts = 1; int cpt = 0; while ( morts != n ) { pos = (pos+1)%n; if ( !mort[pos] ) { cpt++; if ( cpt == k ) { System.out.println("Mort de "+pos); mort[pos] = true; morts++; cpt = 0; } } } return(pos); } /* Fonction principale */ public static void main(String [] args) throws IOException { /* Lecture au clavier du nombre de soldats */ System.out.print("Nombre de soldats : "); int n = Integer.valueOf(flux.readLine()).intValue(); /* Lecture au clavier du nombre de soldats parcourus */ /* a chaque elimination */ System.out.print("Taille des sauts : "); int k = Integer.valueOf(flux.readLine()).intValue(); System.out.println("Le dernier soldat etait le numero " +eliminationJosephusFlavius(n,k)); } }