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

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

相关推荐
长不胖的路人甲14 小时前
Spring Bean 完整生命周期
java·spring·rpc
qz_Serene14 小时前
C语言:编译和链接
c语言·开发语言
会编程的土豆14 小时前
功能详解 01 · 用户注册:从表单到数据库一行
开发语言·数据库·后端·mysql·golang
青石路14 小时前
记一次Qoder排查mave-shade-plugin只重定向部分package导致的NoSuchMethodError问题,查的还挺快的
java·maven
Ivanqhz14 小时前
Rust collect() 浅析
开发语言·后端·rust
墨神谕14 小时前
认识一下Unicode(统一码)
android·java·数据库
Wang's Blog14 小时前
Go-Zero项目开发33: IM实时通信前后端对接与微服务基础设施实践
开发语言·微服务·golang·go-zero
SelectDB技术团队14 小时前
丰巢日志平台 ELK 替代:Apache Doris / SelectDB 的技术能力与实践
开发语言·python
BetterFlow_CFD14 小时前
COMSOL声学仿真基础知识(二)
开发语言·算法·matlab
麻瓜老宋15 小时前
AI开发C语言应用按步走,表达式计算器calc的第十九步,注释、表达式分隔符、long double 精度
c语言·开发语言·atomcode