Bootstrap

本关任务:有N盏灯放在一排,从1到N依次顺序编号;有N个人也从1到N依次顺序编号,第一个人(1号)将灯全部关闭,第二个人(2号)将凡是2的倍数的灯全部打开,第三个人(3号)将凡是3的倍数的灯做相反

#include<stdio.h>

void exchange(int n, int* a) {

    if (a[n] == 0) a[n] = 1;

    else a[n] = 0;

}

int main() {

    int num=6;

    //scanf("%d", &num);

    int a[20];

    for (int i = 1; i <= num; i++) {

        a[i] = 0;

    }

    for (int n = 2; n <= num; n++) {

        for (int j = 1; j <= num; j++) {

            if (j % n == 0) {

                exchange(j, a);

            }

        }

    }

    printf("第%d个人操作后:\n", num);

        for (int j = 1; j <= num; j++) {

            if (a[j] == 1) {

                printf("The  %d damp is shine!\n", j);

            }

        }

    }

;