开关灯java
題目描述
假設有 N 盞燈(N 為不大于 5000 的正整數),從 1 到 N 按順序依次編號,初始時全部處于開啟狀態;有 M 個人(M 為不大于 N 的正整數)也從 1 到 M 依次編號。
第一個人(1號)將燈全部關閉,第二個人(2 號)將編號為 2 的倍數的燈打開,第三個人(3 號)將編號為 3 的倍數的燈做相反處理(即將打開的燈關閉,將關閉的燈打開)。依照編號遞增順序,以后的人都和 3 號一樣,將凡是自己編號倍數的燈做相反處理。
請問:當第 M 個人操作之后,哪幾盞燈是關閉的,按從小到大輸出其編號,其間用逗號間隔。
輸入描述
輸入正整數 N 和 M,以單個空格隔開。
1≤M≤N≤5000
輸出描述
順次輸出關閉的燈的編號,其間用逗號間隔。
樣例輸入 1
10 10
樣例輸出 1
1,4,9
思路:
創建n+1長度的boolean代表燈,然后進行遍歷操作將燈打開或者關閉,最后輸出
總結
- 上一篇: android 处理多点触控手势
- 下一篇: EA 交易中采用ONTRADE() 函数