C,C++,python实现约瑟夫生者死者小游戏

阅读: 评论:0

C,C++,python实现约瑟夫生者死者小游戏

C,C++,python实现约瑟夫生者死者小游戏

先看看题目:
30人在一条船上,超载,需要15人下船,于是人们排成了一队,排队的位置即为他们的编号,从第一个开始报数,从1数到9,数到9的人下船,如此循环往复,直到船上仅剩下15人为止,那么有哪些人下船呢?
1.用C语言实现:

#include<stdio.h>int c = 0;
int i = 1;
int j = 0;
int a[30] = { 0 };
int b[30] = { 0 };int main()
{while (i<=31){if (i == 31){i = 1;}else if (c == 15){break;}else{if (b[i] != 0){i++;continue;}else{j++;if (j != 9){i++;continue;}else{b[i] = 1;a[i] = j;j = 0;printf("第%d号下船了n", i);i++;c++;}}}}
}

运行结果展示:

2.用**C++**实现:

#include<iostream>
using namespace std;int c = 0;
int i = 1;
int j = 0;
int a[30] = { 0 };
int b[30] = { 0 };int main()
{while (i<=31){if (i == 31){i = 1;}else if (c == 15){break;}else{if (b[i] != 0){i++;continue;}else{j++;if (j != 9){i++;continue;}else{b[i] = 1;a[i] = j;j = 0;cout<<"第%d号下船了n"<< i;i++;c++;}}}}
}

运行结果展示:

python实现

people = {}
for i in range(1,31):people[i] = 1check = 0
i = 1
j = 0
while i <= 31:if i == 31:i = 1elif j == 15:breakelse:if people[i] == 0:i += 1continueelse:check += 1if check == 9:people[i] = 0check = 0print("{}号下船了!".format(i))j+=1else:i+=1continue

运行结果:

通过上面示例,我们也看到每种语言各有特色!大家最喜欢哪一种语言呢?

本文发布于:2024-01-31 03:47:33,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170664405425170.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:约瑟夫   小游戏   死者   python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23