您的位置:首页 > 其它

求解约瑟夫问题

2007-02-08 23:43 387 查看
1
6#include "stdafx.h"
7#include <stdio.h>
8#define n 10 //猴子的数量
9#define m 4 //报到m号的退出圈外
10
11void main()
12{
13 int a
,i,count=0,n1=0; //a
猴子的数量
14
15 printf("出队前:");
16 for(i=0;i<n;i++)
17 {
18 a[i]=i+1;
19 printf("%d ",a[i]);
20 }
21
22 printf("\n出队后:");
23
24 while(n1<n) //n1用来计算退出到圈外的猴子个数
25 {
26 for(i=0;i<n;i++)
27 {
28 if(a[i]!=0) //没有退出到圈外的猴子报数
29 count++; //报数
30 if(count==m) //报到m号的猴子退出
31 {
32 printf("%d ",a[i]);
33 a[i]=0; //报到m号的猴子退出,即设定a[i]=0
34 count=0; //重新报号
35 n1++; //有一个猴子退出
36 }
37 }
38 }
39
40}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: