14.约瑟夫环
来源:互联网 发布:微表情软件白金版 编辑:程序博客网 时间:2024/05/20 12:21
题目:n 个数字(0,1,…,n-1)形成一个圆圈,从数字0 开始,
每次从这个圆圈中删除第m 个数字(第一个为当前数字本身,第二个为当前数字的下一个数
字)。
当一个数字删除后,从被删除数字的下一个继续删除第m 个数字。
求出在这个圆圈中剩下的最后一个数字。
每次从这个圆圈中删除第m 个数字(第一个为当前数字本身,第二个为当前数字的下一个数
字)。
当一个数字删除后,从被删除数字的下一个继续删除第m 个数字。
求出在这个圆圈中剩下的最后一个数字。
July:我想,这个题目,不少人已经见识过了。
分析:这道题有两种方法可以实现,第一种是链表实现进行模拟;第二种是用数学方法实现,时间比较快,我就用数学方法实现吧!
代码实现:
#include<iostream>using namespace std;int yue_se_fu(int n, int m)//下表是从0开始的{int res=0;for(int i=2;i<=n;i++)res=(res+m)%i;return res;}int main(){int n, m;while(cin >> n >> m){cout << yue_se_fu(n, m) << endl;}return 0;}
0 0
- 14.约瑟夫环
- 约瑟夫问题、约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- linux 下 查看 磁盘空间
- Poj 2312 BFS+优先队列
- 【cocos2dx】std::function与std::bind 函数指针
- Java使用jxl对excel文件进行简单的读写
- 利用pymongo操作mongoDB数据库
- 14.约瑟夫环
- git笔记
- arm-linux工具的功能
- 禁止键入非法值
- [Leetcode]Remove Duplicates from Sorted List II
- ORCAD 快速加页码
- Path Sum II
- Root of AVL Tree
- oracle connect by level 的用法