• 一本通1109 开关灯


    【题目描述】

    假设有N盏灯(N为不大于5000的正整数),从1到N按顺序依次编号,初始时全部处于开启状态;有M个人(M为不大于N的正整数)也从1到M依次编号。

    第一个人(1号)将灯全部关闭,第二个人(2号)将编号为2的倍数的灯打开,第三个人(3号)将编号为3的倍数的灯做相反处理(即将打开的灯关闭,将关闭的灯打开)。依照编号递增顺序,以后的人都和3号一样,将凡是自己编号倍数的灯做相反处理。

    请问:当第M个人操作之后,哪几盏灯是关闭的,按从小到大输出其编号,其间用逗号间隔。

    【输入】

    输入正整数N和M,以单个空格隔开。

    【输出】

    顺次输出关闭的灯的编号,其间用逗号间隔。

    【输入样例】

    10 10

    【输出样例】

    1,4,9

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<cstring>
    using namespace std;
    int main()
    {
    int n,m;
    cin>>n>>m;
    int a[n+1],b[n+1];
    for(int i=1;i<=n;i++)
    {
    a[i]=i;
    b[i]=1;//用1或-1来判断开关
    }
    for(int j=1;j<=m;j++)
    {
    for(int i=1;i<=n;i++)
    {
    if(a[i]%j==0)
    b[i]=-b[i];
    }
    }
    cout<<1;
    for(int i=2;i<=n;i++)
    {
    if(b[i]==-1)
    cout<<","<<a[i];
    }

    return 0;
    }

  • 相关阅读:
    SQL一条语句统计记录总数及各状态数
    火狐登录国际账户
    HTML基础笔记
    增强for、lambda for、stream 遍历List 结束方法 or 跳过循环本次循环
    nginx
    前端问题总结
    Node.js
    Actuator
    ssh免密登录实现及Python实现
    【Mac渗透测试】之SQL注入Demo
  • 原文地址:https://www.cnblogs.com/57xmz/p/12244341.html
Copyright © 2020-2023  润新知