算法竞赛入门经典 开灯问题Java语言实现

    请用Java实现:
    有n盏灯,编号1~n(0

一道很经典的算法入门问题,下面是Java语言实现代码

public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int i, j, n, k;
		int f = 1;
		Scanner sc=new Scanner(System.in);
		n=sc.nextInt();k=sc.nextInt();
		
		int[] a = new int[100];
		Arrays.fill(a, -1);

		for(i = 1; i <= k; i++)
		     for(j = 1; j <= n; j++)
		     {
		        if(j%i == 0) 
		        	a[j] = -a[j];
		     }
		for(j = 1; j <= n; j++)
		     if(a[j] == 1) {
				 if(f==1) 
					 f = 0; 
				 else System.out.print(" ");
				System.out.print(j);
		     }

	}

输出结果截图:
算法竞赛入门经典 开灯问题Java语言实现_第1张图片

你可能感兴趣的:(数据结构,eclipse,java,算法)