算法题(12)最后的幸存者
每天两道算法题
题目
一群海盗在海上遇难,漂泊到了一座孤岛上。孤岛上没有任何食物,他们只好以人为食。。。
规则如下:
- 首先,让n个海盗们围成一个大圈,编号为0 ~ n-1。
- 然后,随机指定一个数m,让编号为0的海盗开始报数。
- 每次喊到m-1的那海盗要出列并且被淘汰。
- 从他的下一个海盗开始,继续0、1、……、m-1报数,直到剩下最后一个海盗。
请设计一个函数,求出最后的幸存者的编号。
#include <iostream>
#include <vector>
#include <cstdint>
using namespace std;
int64_t get_lucky( int64_t n, int64_t m );
int main( void )
{
int64_t n = 54321;
int64_t m =