蛮力法——狱吏问题

2023-08-21 15:48:36 浏览数 (1)

这是大学里算法设计与分析基础一节课上的一道经典题,正在思考中,现在还没有解出来就先分享出来吧~ 这个也是算法中的一道经典题。

来了来了,下面是正确解法:

正确解法

代码语言:javascript复制
public class Demo {
	public static void main(String[] args) {
		int n;
		Scanner sc = new Scanner(System.in);
		n = sc.nextInt();
		sc.close();
		int[] flag = new int[n   1];
		for(int i = 1;i<=n;i  ) {
			for(int j = i;j<=n;j = j i) {
				flag[j] = 1 - flag[j];
			}
		}
		for(int i = 1;i<= n;i  ) {
			if(flag[i] == 1)
				System.out.print(i   " ");
		}
		System.out.println();
		answer_two(n);
	}
	public static void answer_two(int n) {
		int i;
		for(i = 1;i<=n;i  )
		{
			if(i * i <= n)
				System.out.print(i*i   " ");
			else
				break;
		}
	}

0 人点赞