c语言123报数,新人求解一道C语言题。。。麻烦了
有一百個人按編號排成一隊,從1開始按123123報數,報3者退出,直到隊尾,又從隊尾向隊首報數(1開始),依舊報3的退出,重復執行直至隊列剩2個,求此2人的原始編號,這是題目,下面是我的程序。。。。求解。。
#include
#include
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int people[100],i,j1,j2,t=0;
for(i=0;i<100;i++){
people[i]=1;
}
while(t<98){
j1=0;
if(j1<100){
for(i=1;i<=(100-t);i++){
if(people[j1]!=0){
people[j1]=i;
if(people[j1]%3==0){
people[j1]=0;t++;
}
j1++;
}
else{
i--;j1++;
}
}
}
j2=99;
if(j2>=0){
for(i=1;i<=(100-t);i++){
if(people[j2]!=0){
people[j2]=i;
if(people[j2]%3==0){
people[j2]=0;t++;
}
j2--;
}
else{
i--;j2--;
}
}
}
}
for(i=0;i<100;i++){
if(people[i]!=0){
printf("%d\n",i+1);
}
}
return 0;
}
總結
以上是生活随笔為你收集整理的c语言123报数,新人求解一道C语言题。。。麻烦了的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构php语言,PHP语言做网页开发
- 下一篇: python福利彩随机_看大神如何用Py