这样写是正确的,不过,效率不高,如果是1,还得循环7次才能删除。所以楼主可以用公式直接算出具体位置,直接删除就行了
----------------解决方案--------------------------------------------------------
public class Jose {
public static void main(String[]args){
int n=9,k=1,s=5;//你的题目没有说清楚,计数就按从0记起
//约瑟夫的数学解法
for(int i=2;i<n;i++){
s=(s+k)%i;
if(s==0){
s=i;
}
}
System.out.println(s);
}
}
----------------解决方案--------------------------------------------------------