由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - Josephus problem 有一句话没看懂
相关主题
最近没啥题,我来说一道分享经验贴
Josephus' problem: array-based implementationM$ phone screen
如何用JAVA中的circular array of queue 解决Josephus problem? (转载)攒RP写面经
一道老题求解请问如何用do while和顺序语句实现if then else?
教你进Google [2]关于排列组合的题目的算法
我认识的Peng Na问一个题
[合集] Yahoo 面经问个题,用递归方法
[合集] Ye 报告一个口头offer有递归的算法如何算复杂度?
相关话题的讨论汇总
话题: res话题: long话题: joseph话题: josephus话题: n%
进入JobHunting版参与讨论
1 (共1页)
l*********y
发帖数: 142
1
long long Joseph(long long n, int k)
{
long long d = n/k;
long long res = Joseph(n-d, k);
res -= n % k;
if (res < 0) res += n;
else res += res / (k-1);-------->这是要干什么?
return res;
}
没明白这句话,网上也没找到清楚的答案,wiki上说的很含糊,谁给解释以下,谢谢了
l*********y
发帖数: 142
2
ding

【在 l*********y 的大作中提到】
: long long Joseph(long long n, int k)
: {
: long long d = n/k;
: long long res = Joseph(n-d, k);
: res -= n % k;
: if (res < 0) res += n;
: else res += res / (k-1);-------->这是要干什么?
: return res;
: }
: 没明白这句话,网上也没找到清楚的答案,wiki上说的很含糊,谁给解释以下,谢谢了

I*********g
发帖数: 93
3
杀完快一圈的时候还剩n-d 个人,从编号 n-n%k 的人又会重复这个过程,
所以先递归求解(n-d, k)的解,然后推(n,k)的解
对(n-d, k)的解x有两种情况
(1)编号 < n%k, 这说明原来就是从编号 n-n%k到尾部的那些人
所以x+ n - n%k就是解
(2)不然就要看插多少个人
每k-1个人插一个人, 所以 += res/k-1
l*****a
发帖数: 559
4
赞。
另lz抄少了n/k = 0的情况。

【在 I*********g 的大作中提到】
: 杀完快一圈的时候还剩n-d 个人,从编号 n-n%k 的人又会重复这个过程,
: 所以先递归求解(n-d, k)的解,然后推(n,k)的解
: 对(n-d, k)的解x有两种情况
: (1)编号 < n%k, 这说明原来就是从编号 n-n%k到尾部的那些人
: 所以x+ n - n%k就是解
: (2)不然就要看插多少个人
: 每k-1个人插一个人, 所以 += res/k-1

b*****o
发帖数: 715
5
更简单的答案参看
http://zhedahht.blog.163.com/blog/static/2541117420072250322938
lz贴的这个算法,想法是有的,但是细节上有不少问题。
需要在最开始加上边界处理:
while(k>n) k -= n;
if (n==1) return 0;
if (k==1) return n-1;
1 (共1页)
进入JobHunting版参与讨论
相关主题
有递归的算法如何算复杂度?教你进Google [2]
用一个stack实现queue我认识的Peng Na
Facebook phone screen[合集] Yahoo 面经
有重复元素的全排列,递归算法[合集] Ye 报告一个口头offer
最近没啥题,我来说一道分享经验贴
Josephus' problem: array-based implementationM$ phone screen
如何用JAVA中的circular array of queue 解决Josephus problem? (转载)攒RP写面经
一道老题求解请问如何用do while和顺序语句实现if then else?
相关话题的讨论汇总
话题: res话题: long话题: joseph话题: josephus话题: n%