开灯问题用C语言怎么解决

Python013

开灯问题用C语言怎么解决,第1张

#include "stdio.h"

void main()

{

    /*0表示关灯,1表示开灯*/

    int n,k,a[101],i,b,c,d

 

    printf("输入人数")

    scanf("%d",&k)

    printf("输入灯的数目")

    scanf("%d",&n)

    for(i=1i<101i++)

    {

        a[i]=0

    }

     

    for(b=1b<=kb++) //这里不能是k++啊!死循环了

    {      

        for(c=1c<=nc++)

        {

            if(c%b==0)

            {

                if(a[c]==0)

                {

                    a[c]=1

                }else

                {

                    a[c]=0

                }

            }

        }

    }

    for(d=1d<=nd++)

        if(a[d]==1){

            printf("%d ",d) //加上空格,看着清楚些

        }

}

既然只要最后一个,何必全部计算。。。

#include<stdio.h>

int main() {

int m, n

while (scanf("%d%d", &n, &m) != EOF) {

int isOn = 0

do

if (n % m == 0)

isOn = !isOn

while (--m)

printf("%s\n", isOn ? "on" : "off")

}

return 0

}

你的代码的话,应该是输出的时候改成判断a[n]就可以了吧。

楼上那位同学是不知道有种东西叫oj么。。。

#include <stdio.h>

#define n 100

void main(void)

{

int i, j, a[n]

for(i = 0i <ni++) a[i] = 0// 初始化为全0

for(i = 1i <= ni++)

for(j = i j <= nj = j + i)

a[j - 1] += 1

//100人对100灯,都操作完毕,下面是显示

for(i = 0i <ni++) {

if((i % 8) == 0) printf("\n")

printf(" L%2d: %d, ", i + 1, a[i] % 2)

}

printf("\n")

}

/*

运行结果显示如下:

L 1: 1, L 2: 0, L 3: 0, L 4: 1, L 5: 0, L 6: 0, L 7: 0, L 8: 0,

L 9: 1, L10: 0, L11: 0, L12: 0, L13: 0, L14: 0, L15: 0, L16: 1,

L17: 0, L18: 0, L19: 0, L20: 0, L21: 0, L22: 0, L23: 0, L24: 0,

L25: 1, L26: 0, L27: 0, L28: 0, L29: 0, L30: 0, L31: 0, L32: 0,

L33: 0, L34: 0, L35: 0, L36: 1, L37: 0, L38: 0, L39: 0, L40: 0,

L41: 0, L42: 0, L43: 0, L44: 0, L45: 0, L46: 0, L47: 0, L48: 0,

L49: 1, L50: 0, L51: 0, L52: 0, L53: 0, L54: 0, L55: 0, L56: 0,

L57: 0, L58: 0, L59: 0, L60: 0, L61: 0, L62: 0, L63: 0, L64: 1,

L65: 0, L66: 0, L67: 0, L68: 0, L69: 0, L70: 0, L71: 0, L72: 0,

L73: 0, L74: 0, L75: 0, L76: 0, L77: 0, L78: 0, L79: 0, L80: 0,

L81: 1, L82: 0, L83: 0, L84: 0, L85: 0, L86: 0, L87: 0, L88: 0,

L89: 0, L90: 0, L91: 0, L92: 0, L93: 0, L94: 0, L95: 0, L96: 0,

L97: 0, L98: 0, L99: 0, L100: 1,

Press any key to continue

*/