递归实现指数型枚举 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();
		}
	}
}

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

相关推荐
Zach_yuan2 分钟前
C++ Lambda 表达式从入门到进阶
开发语言·c++
tb_first5 分钟前
万字超详细苍穹外卖学习笔记3
java·jvm·笔记·学习·spring·tomcat·maven
weixin_445402306 分钟前
模板元编程应用场景
开发语言·c++·算法
xyq20249 分钟前
Julia 日期和时间处理指南
开发语言
s1hiyu9 分钟前
嵌入式C++低功耗设计
开发语言·c++·算法
阿钱真强道17 分钟前
11 JetLinks MQTT 直连设备功能调用完整流程与 Python 实现
服务器·开发语言·网络·python·物联网·网络协议
我待_JAVA_如初恋17 分钟前
安装idea教程
java·ide·intellij-idea
tianyuanwo25 分钟前
Jenkins节点编码环境深度解析:从配置到Java Web连接原理
java·jenkins·语言编码
Fanxt_Ja25 分钟前
多线程之ES同步数据
java·大数据·elasticsearch·搜索引擎
CodeToGym30 分钟前
【全栈进阶】Spring Boot 整合 WebSocket 实战:从实时告警到金融行情推送
java·后端·spring