📄 josephus.java
字号:
import java.io.*;
class Jose{
int baby[]=new int[10];//定义小孩的数目
int won,k,n,j;//won标志最后盛出的小孩的序号,k记数
Jose(){
for(int i=0;i<10;i++)
baby[i]=i+1;
j=0;
n=10;
}
public int dealbaby(int m){
for(;;){
for(;;){
if(baby[j]!=0){
k=k+1;
if(k==m){
baby[j]=0;
n=n-1;
k=0;
break;
}
j=(j+1)%10;
}
else{
j=(j+1)%10;
}
}
if(n==1)
break;
}
for(int i=0;i<10;i++){
if(baby[i]!=0){
won=baby[i];
break;
}
}
return won;
}
}
public class Josephus{
public static void main(String[] args){
int m=0;
byte buf[]=new byte[50];
System.out.println("请输入m的值:");
try{
System.in.read(buf);
m=Integer.parseInt(new String(buf).trim());
}catch(IOException e){
System.out.println("输入类型错误!");
}
Jose jose=new Jose();
jose.dealbaby(m);
System.out.println("最后胜出的是第"+jose.won+"个小孩");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -