约瑟夫问题
来源:互联网 发布:vb do while循环语句 编辑:程序博客网 时间:2024/06/02 05:54
题目背景
约瑟夫是一个无聊的人!!!
题目描述
n个人(n<=100)围成一圈,从第一个人开始报数,数到m的人出列,再由下一个人重新从1开始报数,数到m的人再出圈,……依次类推,直到所有的人都出圈,请输出依次出圈人的编号.
输入输出格式
输入格式:
n m
输出格式:
出圈的编号
输入输出样例
输入样例#1:
10 3
输出样例#1:
3 6 9 2 7 1 8 5 10 4
思路:
此题的重点在于将数字连成一个环,并判处被排除的数字,是一个纯搜索的过程。
#include<iostream>using namespace std;int a[10000],m,n;int main(){ cin>>n>>m; int t=0,s=0,f=0; do{ s++; if(s==n+1)s=1; if(a[s]==0) t++; if(t==m){ t=0; a[s]=1; cout<<s<<' '; f++; } }while(f!=n); return 0;}
0 0
- 约瑟夫问题、约瑟夫环
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- hibernate基础
- jQuer基础
- 获取文件夹内某一类文件的数量和名称
- cxf WebService整理
- chrmoe debug
- 约瑟夫问题
- main函数中argc和argv含义
- 马的遍历
- Mac 解决SSH登录服务器终端乱码
- opencv中的图像复制、保存和显示
- iOS 视频合成相关
- 字符串,字符数组
- TreeMap 排序
- windows 7 和 Ubuntu的双系统安全删除Ubuntu