约瑟夫环(Joseph)编程内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了约瑟夫环(Joseph)编程内容相关的知识,希望对你有一定的参考价值。
#include <stdio.h>void main()
{
int arr[100];
int i=0,interval=0,qty=0,count=0,count1=0; //count数未出局的,count1数出局的
printf("请输入人数和间隔(+1): "); //间隔1,interval=2,间隔2,interval=3,依次类推。
scanf("%d%d",&qty,&interval);
for(i=0;i<qty;i++){ //给数组赋相同值或不同值,但不赋值为-1。
arr[i]=1000;
printf("arr[%d]=%d ",i,arr[i]);
}
printf("\n");
arr[0]=-1; //不论数组值相同或不同,圆环的任意起点可设置为索引是0,-1表示已出局。
count1++; //count1计算出局数。
printf("第 %d 个出局的是索引为 %d 的。\n",count1,0);
while(count1!=qty){
for(i=0;i<qty;i++) {
if(arr[i]==-1) {
continue;
}else{
count++;
}
if(count%(interval)==0) {
arr[i]=-1;
count1++;
printf("第 %d 个出局的是索引为 %d 的。\n",count1,i);
}
}
}
printf("\n");
}
以上是关于约瑟夫环(Joseph)编程内容的主要内容,如果未能解决你的问题,请参考以下文章