1. 指数型枚举
n个数,最少可以选择0个,最多可以选择n个,定义一个选择数组vis, vis[i]为true表示选择数字i, 一共有 2 n 2^n 2n种情况,当递归的层数达到n时,输出选择的结果
import java.util.Scanner;
public class Main {
public static void main(String[] args){
int n;
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
n=sc.nextInt();
boolean[] vis=new boolean[n+1];
dfs(n,vis,1);
}
}
public static void dfs(int n,boolean[] vis,int index){
if(index>n){
//index==n+1 index==n时还需要添加
for(int i=1;i<=n;i++){
if