PTA-约瑟夫问题

PTA-约瑟夫问题

问题描述
约瑟夫问题(Josephus Problem),又称约瑟夫环:n个人围成一圈,对其顺时针编号为1~n,然后从第1个人开始顺时针方向报数,第1个人报数1,第2个人报数2,依次类推,凡报数k的人则出列,接着下一个人重新从1开始报数,如此反复。

例如n=8,k=3,则出列的顺序是:3、6、1、5、2、8、4、7。

编写程序,从键盘读入两个整数n和k(使用空格分隔),然后输出出列的顺序到屏幕。

输入格式
一共1行数据,包含2个整数n和k,之间使用空格分隔。

输出格式
输出n行,每行一个整数和一个换行符。

数据规模与约定
整数n的值约定为 1 ≤ n ≤ 100。

整数k的值约定为 1 ≤ k ≤ 100。

样例输入
10 3
样例输出
3
6
9
2
7
1
8
5
10
4`#include
main()
{
int a,b,count,num,i;
while(scanf("%d%d",&a,&b)!=EOF)
{
if(a0&&b0)
break ;
count=0,num=0;
for(i=0;i<3;i++)
{if((a%10+b%10+count)>=10)
{count=(a%10+b%10+count)/10;num++;
}
a/=10;
b/=10;
}
printf("%d\n",num);
} return 0;

}

你可能感兴趣的:(c语言)