説明[タイトル]
仮定最初に開いているすべての状態で、順序番号に応じて1からNまで(Nは複数5000の正の整数よりない)Nランプあり;(M整数陽性がN以下である)、1からMのM個体順番に番号。
最初の人(1)ランプ消灯全てターン、及び第(2)2の複数のライトの数は、第三者(3)は、ランプ3の数の複数の逆過程を行う(すなわちオープンライト消灯、光にオフになります)。みんなと第3の後、昇順での数字によると、反対の治療を行うためのライトの数のものを誰が自分の複数の意志として。
ウィル:ときにいくつかのライトをオフになっているMの個々の操作、ES間の数を昇順で、その出力。
[Enter]を
入力正の整数NとMは、単一のスペースで区切られています。
[出力]
コンマによってそれらの間に間隔、順次出力数をオフランプ。
[サンプル入力】
10 10
[サンプル出力]
1,4,9
#include <iostreamの>
する#include <cstdioを>
する#include <cmath>
の#include <CStringの>
名前空間STDを使用して、
メイン()がINT
{
int型のn、mは、
CIN >> N >> M。
INT [N + 1]、B [N + 1]。
以下のために(INT I 1 =; I <= N; I ++)
{
[I] = I。
B [I] = 1; //用1或-1来判断开关
}
(int型のJ = 1; J <= Mであり、j ++)用
{
ため(INT iは= 1; I <= N; I ++)
{
IF( [I]%J == 0)
B [I] = - B [i]は、
}
}
COUT << 1。
以下のために(INT I 2 =; I <= N; I ++)
{
IF(B [I] == - 1)
COUT << "" << [I]。
}
0を返します。
}