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

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

相关推荐
txinyu的博客3 分钟前
解析业务层的key冲突问题
开发语言·c++·分布式
J_liaty3 分钟前
Spring Boot整合Nacos:从入门到精通
java·spring boot·后端·nacos
码不停蹄Zzz8 分钟前
C语言第1章
c语言·开发语言
行者9642 分钟前
Flutter跨平台开发在OpenHarmony上的评分组件实现与优化
开发语言·flutter·harmonyos·鸿蒙
阿蒙Amon1 小时前
C#每日面试题-Array和ArrayList的区别
java·开发语言·c#
daidaidaiyu1 小时前
Spring IOC 源码学习 一文学习完整的加载流程
java·spring
SmartRadio1 小时前
ESP32添加修改蓝牙名称和获取蓝牙连接状态的AT命令-完整UART BLE服务功能后的完整`main.c`代码
c语言·开发语言·c++·esp32·ble
2***d8851 小时前
SpringBoot 集成 Activiti 7 工作流引擎
java·spring boot·后端
五阿哥永琪1 小时前
Spring中的定时任务怎么用?
java·后端·spring
gelald1 小时前
AQS 工具之 CountDownLatch 与 CyclicBarry 学习笔记
java·后端·源码阅读