当前位置:首页 » 编程语言 » c语言约瑟夫环问题

c语言约瑟夫环问题

发布时间: 2024-04-23 10:21:34

A. 将自然数1至100按顺时针围成一圈,首先取出1,然后顺时针方向按步长L=30取数(已取出的数不再参加计数),

这其实就是一个约瑟夫环问题,你网络一下就知道了
类似于已知100个人(以编号1,2,3...100分别表示)围坐在一张圆桌周围。从编号为1的人开始报数,数到30的那个人出列;他的下一个人又从1开始报数,数到30的那个人又出列;依此规律重复下去,直到圆桌周围只剩下一个人,求这个人的编号。
数组实现
#include<iostream.h>
int main()
{
const int n=100;
int m=30;
int a[n];

for(int j=0;j<n;j++)
a[j]=j+1;
int k=1;
int i=-1;

while(1)
{

for(int j=0;j<m;)
{
i=(i+1)%n;
if(a[i]!=0)
j++;
}
if(k==n)
break;
a[i]=0;
k++;
}
cout<<a[i]<<endl;
return 0;
}

(用单向链表,双向链表实现见我的空间)

热点内容
编程中的变量 发布:2024-05-17 11:33:06 浏览:776
加密视频怎么解密 发布:2024-05-17 11:02:52 浏览:571
柳工挖机密码多少合适 发布:2024-05-17 11:00:40 浏览:188
android工程叹号 发布:2024-05-17 10:56:21 浏览:481
在苹果手机应用怎么比安卓贵 发布:2024-05-17 10:56:20 浏览:548
赛欧313配置怎么样 发布:2024-05-17 10:43:16 浏览:989
c语言预算 发布:2024-05-17 10:43:16 浏览:493
推荐对称加密算法 发布:2024-05-17 10:43:15 浏览:823
有存储功能计算器 发布:2024-05-17 10:42:34 浏览:119
小米账号密码保险箱在哪里 发布:2024-05-17 10:17:00 浏览:752