WZOI-275开关灯
生活随笔
收集整理的這篇文章主要介紹了
WZOI-275开关灯
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述:
假設有N盞燈(N為不大于5000的正整數),從1到N按順序依次編號,初始時全部處于開啟狀態;有M個人(M為不大于N的正整數)也從1到M依次編號。
第一個人(1號)將燈全部關閉,第二個人(2號)將編號為2的倍數的燈打開,第三個人(3號)將編號為3的倍數的燈做相反處理(即,將打開的燈關閉,將關閉的燈打開)。依照編號遞增順序,以后的人都和3號一樣,將凡是自己編號倍數的燈做相反處理。
請問:當第M個人操作之后,哪幾盞燈是關閉的,按從小到大輸出其編號,其間用逗號間隔。
輸入格式:
輸入正整數N和M,以單個空格隔開。
輸出格式:
順次輸出關閉的燈的編號,其間用逗號間隔。
樣例輸入:
10 10樣例輸出:
1,4,9時間限制: 1000ms
空間限制: 128MB
代碼如下:
#include<bits/stdc++.h> using namespace std; int main(){long long n,m,a[50001],s1=0;cin>>n>>m;long long s[50001];for(int i=1;i<=n;i++){a[i]=i;}for(int i=1;i<=n;i++){s[i]=1;}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(a[i]%j==0){s[i]++;if(s[i]>1){s[i]=0;}}}}for(int i=1;i<=n;i++){if(s[i]==0){s1++;}}for(int i=1;i<=n;i++){if(s[i]==0){cout<<a[i];if(s1>1){cout<<",";s1--;}}}return 0; }總結
以上是生活随笔為你收集整理的WZOI-275开关灯的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 泡脚材料简记
- 下一篇: 发现一神器——PngSplit、plis