有 N 个灯放在一排,从 1 到 N 依次顺序编号。有 N 个人也从 1 到 N 依次编号。1 号将灯全部关闭,2 号将凡是 2 的倍数的灯打开;3 号将凡是 3 的倍数的灯作相反处理(该灯如为打开的,则将它关闭;如关闭的,则将它打开)。以后的人都和 3 号一样,将凡是自己编号倍数的灯作相反处理。
编程实现:第 N 个人操作后,按顺序输出灯的状态( 1 表示灯打开,0 表示灯关闭)。
输入一个整数 N 表示灯的个数。
灯的状态,用 01 序列表示,中间无空格。
数据范围 2 \le N \le 2 \times 10^6。
提示 可以尝试计算出前几个,然后找规律。
2
01
首先模拟计算出前 100 个灯的状态,然后就可以发现当一个数字是一个完全平方数的时候,答案是 0,其他的时候灯的状态是 1。