回 帖 发 新 帖 刷新版面

主题:帮忙想下,谢谢

n个人围成一圈报数,每个报到3的人离开,问最后剩下的人是n个人中的第几个?n从键盘输入
用C语言写程序
帮忙想下,谢谢
这样报数:1 2 3 1 2 3 1 2 3 1 2 3 1 2 3....
例如n=5,则最后剩下的是n个人中的第4个

回复列表 (共2个回复)

沙发


 
#include <stdio.h>
void main()
{int i,j=0,p,m,n;
 int a[100];
 for(i=0;i<100;i++){a[i]=0;}
 printf("you ji ge ren");              /*有几个人/

scanf("%d",&m);

 printf("bao ji li kai");               /*报几的离开/

scanf("%d",&n);
 for(i=0;i<m;i++){a[i]=i+1;}
 p=m;
 while(p>1)
  {for(i=0;i<m;i++)
   {while(a[i]!=0){j++;break;}
   if((j%n)==0&&a[i]!=0){a[i]=0;p--;}
   if(j==n) j=0;
   }
  }
 while(p==1)
 {for(i=0;i<m;i++)
  {if(a[i]!=0){printf("%d",a[i]);goto l1;}}
 }
l1:}
 

板凳

你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系摩客元亨 QQ908889846
2010年,中国网民突破了4亿,
网络游戏玩家超过了3亿,
互联网即将进入全民网游的时代

我来回复

您尚未登录,请登录后再回复。点此登录或注册