约瑟夫算法:n个人围成一圈,每人有一个各不相同的编号,选择一个人作一个
来源:百度知道 编辑:UC知道 时间:2024/09/21 06:53:24
自已找到了,在钱能的书里的! ̄
//***************************
//** Josephus问题解法1 **
//** jose1.cpp **
//***************************
#include <iostream.h>
void main()
{
//建立小孩数组
const int num=10; //小孩数
int interval; //每次数interval个小孩,便让该小孩离开
int a[num]; //小孩数组
//给小孩编号
for(int i=0; i<num; i++) //小孩的编号只与小孩数有关
a[i]=i+1;
//输入数小孩间隔
cout <<"please input the interval: "; //输入一个数小孩个数
cin >>interval;
//将全体参加的小孩输出
for(int i=0; i<num; i++) //顺序输出开始时的小孩编号
cout <<a[i] <<",";
cout <<endl;