递归实现指数型枚举 Java

java 复制代码
import java.util.*;
import java.io.*;

public class Main {

	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		int n = Integer.parseInt(st.nextToken());
		for (int i = 0; i < (1 << n); i++) {  // 1<<n就是2的n次方,即遍历0 ~ 2的n次方-1
			for (int j = n - 1, k = 1; j >= 0; j--, k++) { // j--是因为i>>j需要从左到右比较
				if (((i >> j) & 1 )== 1) System.out.print(k + " ");
			}
			System.out.println();
		}
	}
}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

相关推荐
lsx2024064 分钟前
C语言中的强制类型转换
开发语言
coderHing[专注前端]7 分钟前
告别 try/catch 地狱:用三元组重新定义 JavaScript 错误处理
开发语言·前端·javascript·react.js·前端框架·ecmascript
星辰烈龙25 分钟前
黑马程序员Java基础9
java·开发语言
山沐与山26 分钟前
【Redis】Redis集群模式架构详解
java·redis·架构
ss27337 分钟前
Java并发编程:DelayQueue延迟订单系统
java·python·算法
wcy_101142 分钟前
七大软件设计原则
java·设计规范
invicinble43 分钟前
jar包在执行的时候需要关注的细节(提供一个解构jvm问题的视角)
java·jvm·jar
@游子43 分钟前
Python类属性与魔术方法全解析
开发语言·python
麦芽糖02191 小时前
SSE介绍及使用(Server-Send Events)
java
alan07211 小时前
【Java + Elasticsearch全量 & 增量同步实战】
java·elasticsearch·jenkins