开关灯假设有 N 盏灯(N 为不大于 5000 的正整数),从 1 到 N 按顺序依次编号,初始时全部处于开启状态;有 M 个人(M 为不大于 N 的正整数)也从 1 到 M 依次编号。第一个人(1 号)将灯全部关闭,第二个人(2 号)将编号为 2 的倍数的灯打开,第三个人(3 号)将编号为 3 的倍数的
依照编号递增顺序,以后的人都和 3 号一样,将凡是自己编号倍数的灯做相反处理。 > 请问:当第 M个人操作之后,哪几盏灯是关闭的,按从小到大输出其编号,其间用逗号间隔。 输入格式 输入正整数 N 和 M,以单个空格隔开,M≤N。 输出格式 顺次输出关闭的灯的编号,其间用逗号间隔。 样例输入 10 10 样例输出 1,4...
voidIsPrime(int* p,intn)//判断奇数 { printf("最终为关闭状态的灯有:"); for(inti =1; i <= n; i++) if(p[i] %2==1)//若因子数为奇数则输出 printf("%d ", i); } intmain() { intM, N;//M为学生数,N为灯个数 printf("请依次输入学生个数、灯个数:\n"); ...
开关灯假设有N盏灯(N为不大于5000的正整数),从1到N按顺序依次编号,初始时全部 处于开启状态;有M个人(M为不大于N的正整数)也从1到M依次编号。第一个人(1号)将灯全部关闭,第二个人(2号)将编号为2的倍数的灯打开,第三 个人(3号)将编号为3的倍数的灯做相反处理(
假设有N盏灯(N为不大于5000的正整数),从1到N按顺序依次编号,初始时全部处于开启状态;有M个人(M为不大于N的正整数)也从1到M依次编号。 第一个人(1号)将灯全部关闭,第二个人(2号)将编号为2的倍数的灯打开,第三个人(3号)将编号为3的倍数的灯做相反处理(即将打开的灯关闭,将关闭的灯打开)。依照编号递增...