游客 Signup | Login
中文 | En

3751 - 约瑟夫环

通过次数

0

提交次数

0

Time Limit : 1 秒 Memory Limit : 128 MB

有编号从 1 到 N 的 N 个人坐成一圈报数,报到 M 的人出局,下一位再从1开始,?如此持续,直止剩下一位为止,报告此人的编号 X。输入 N,M,求出 X。

Input

输入格式

第一行:两个整数N,M (0< N,M < 30,000,000) ,表示开始人数N和报数到M。

Output

输出格式

一个整数X,表示剩下的最后一个数。

Examples

Input Format

5 2

Output Format

3

Solution C

#include "stdio.h"
int m,n;
int F(int t)
{
	if(t==1)
		return 0;
	else
		return (F(t-1)+m)%t;
}
int main()
{
	scanf("%d%d",&n,&m);
	printf("%d\n",F(n)+1);
	return 0;
}

Solution C++

#include<stdio.h>
int main()
{
	long n,m;
	scanf("%ld%ld",&n,&m);
	int i,r=0;
	for (i=2;i<=n;i++)
	{
		r=(r+m)%i;	
	}
	printf("%d\n",r+1);
	return 0;
}