约瑟夫环的数组实现
2008-02-26 20:47
183 查看
#include<iostream.h>
void main()
{
const int tNum=10;//10个小孩
int a[tNum];//放小孩编号的数组,模拟小孩
int interval,num=10;
cout<<"输入每次报数的间隔"<<endl;
cin>>interval;
for(int i=0;i<tNum;i++)
{
a[i]=i+1;
cout<<a[i]<<" ";
}//输出小孩编号
cout<<endl;
int killNum;//出队列小孩的数组下标
killNum=interval%num;//初始化要杀掉的小孩
while(num>1)
{
cout<<a[killNum]<<" ";//输出将要被杀掉的小孩
for(int i=killNum;i<num-1;i++)
a[i]=a[i+1];//将小孩杀掉
num-=1;//小孩个数减一
killNum=(interval+killNum)%num;//计算下一个要被杀掉的小孩
}
}
void main()
{
const int tNum=10;//10个小孩
int a[tNum];//放小孩编号的数组,模拟小孩
int interval,num=10;
cout<<"输入每次报数的间隔"<<endl;
cin>>interval;
for(int i=0;i<tNum;i++)
{
a[i]=i+1;
cout<<a[i]<<" ";
}//输出小孩编号
cout<<endl;
int killNum;//出队列小孩的数组下标
killNum=interval%num;//初始化要杀掉的小孩
while(num>1)
{
cout<<a[killNum]<<" ";//输出将要被杀掉的小孩
for(int i=killNum;i<num-1;i++)
a[i]=a[i+1];//将小孩杀掉
num-=1;//小孩个数减一
killNum=(interval+killNum)%num;//计算下一个要被杀掉的小孩
}
}
相关文章推荐
- 利用数组实现约瑟夫环
- 约瑟夫环数组实现
- java 约瑟夫环 数组实现 已测试
- C语言实现约瑟夫环,使用循环单链表和循环数组2种方法
- 约瑟夫环问题的 PHP 实现--使用 PHP 数组内部指针操作函数
- Java 数组实现约瑟夫环
- 约瑟夫环-链表和数组表示实现及分析(Josephus Problem)
- C语言用数组1. 简单约瑟夫环问题: N个人,编号从1~N围成一圈,输入一个数T,从1号开始报数,报到T的人出圈;下一人又从1开始报数,下一个报到T的人出圈,输出出圈顺序。 考虑问实现约瑟夫环问题
- 约瑟夫环问题(不带头结点单循环链表实现和数组实现)
- C语言 实现约瑟夫环 (有一个数组a[1000]存放0--1000;要求每隔二个数删掉一个数)
- 用c语言一位数组实现约瑟夫环
- 约瑟夫环的数组实现
- 数组实现约瑟夫环
- 约瑟夫环问题——初步了解+数组实现
- 用数组和链表实现约瑟夫环问题
- 约瑟夫环(数组和链表实现方式)
- 约瑟夫环问题(c语言数组实现)
- 循环链表实现约瑟夫环(动态数组实现)
- 约瑟夫环的数组实现
- C语言,数组实现约瑟夫环问题(两种方法)