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

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

相关推荐
_Jimmy_4 分钟前
Nacos的三层缓存是什么
java·缓存
沐知全栈开发10 分钟前
HTML 脚本:基础、应用与未来趋势
开发语言
@菜菜_达18 分钟前
interact.js 前端拖拽插件
开发语言·前端·javascript
朝新_30 分钟前
【实战】动态 SQL + 统一 Result + 登录校验:图书管理系统(下)
xml·java·数据库·sql·mybatis
APIshop1 小时前
实战解析:苏宁易购 item_search 按关键字搜索商品API接口
开发语言·chrome·python
百***92021 小时前
java进阶1——JVM
java·开发语言·jvm
蓝桉~MLGT1 小时前
Python学习历程——Python面向对象编程详解
开发语言·python·学习
Evand J1 小时前
【MATLAB例程】2雷达二维目标跟踪滤波系统-UKF(无迹卡尔曼滤波)实现,目标匀速运动模型(带扰动)。附代码下载链接
开发语言·matlab·目标跟踪·滤波·卡尔曼滤波
larance1 小时前
Python 中的 *args 和 **kwargs
开发语言·python
Easonmax1 小时前
用 Rust 打造可复现的 ASCII 艺术渲染器:从像素到字符的完整工程实践
开发语言·后端·rust