程序设计在线评测(Online Judge)


问题 1011. -- D士兵队列

1011: D士兵队列

时间限制: 1 Sec  内存限制: 128 MB
提交: 86  解决: 35
[提交][状态][讨论版]

题目描述

给你N个站成一列的士兵和一个整数M,士兵编号是1 --- N。每次士兵按编号从小到大的顺序依次报数,如果报的数不是M的倍数,则该士兵出列。这样重复几次直到剩下的士兵的数量小于等于M为止。问最后剩下的士兵有几个,他们的编号分别是多少。

输入

有多行测试数据,每一行测试数据包括m和n,中间用空格隔开,测试数据组以0 0结束,程序不应该处理这个数据。

输出

对于每个测试数据输出两行,第一行为剩下士兵数目,第二行为剩下士兵编号(从小到大),编号之间以空格隔开

样例输入

1000000000 2
1000000000 3
1000000000 5
0 0

样例输出

1
536870912
2
387420489 774840978
4
244140625 488281250 732421875 976562500

提示

来源

[提交][状态][讨论版]