• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
???!!!
博客园    首页    新随笔    联系   管理    订阅  订阅
java基础练习 15
import java.util.Scanner;
public class Fiftheen {
/*有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。*/
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.print("请输入围圈的人数:");	
int a=input.nextInt();
System.out.println(" ");
int[] b=new int[a];
int i,j,k=0,m=0,n=0;
for(i=1;i<a;i++)
b[i]=i;
while(a!=1){
if(k>0){
if(n==1){
b[1]=99099;
m=2;
}
else if(n==2){
b[0]=99099;
m=1;
}
else
m=0;
}
n=0;
for(i=m;i<a;i++){
n++;
if(n==3){
n=0;
b[i]=99099;
}
}
for(i=0;i<a;i++)
if(b[i]==99099){
for(j=i;j<a-1;j++)
b[j]=b[j+1];
a--;
i--;
}
k++;
}
System.out.println("最后留下的为原来的"+(b[0]+1)+"号。");
}
}

  

posted on 2017-01-26 23:28  ???!!!  阅读(232)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3