Lista de todas as combinações binárias para um número em Java

Estou trabalhando em um projeto envolvendo "Programação Dinâmica" e estou impressionado com essa coisa trivial, por favor ajud

Suponha que tomo 4 como entrada, quero exibir algo como: 0000 a 1111

Mas, se eu inserir 5, quero exibir como: 00000 a 11111 e assim por diant

Desde já, obrigado

EDITA: Por favor, não poste me pedindo o código. Este não é um problema de lição de casa e não preciso de nenhum código, apenas me diga a lógica e ficaria feli

EDIT2: O WTH está acontecendo com o Stackoverflow, pedi a algum de vocês que escrevesse código para mim? Quero que a pessoa que votou para o voto negativo. O que é um ponto deste fórum se eu não conseguir ajuda?

Compartilhe a lógica comigo. Podemos discutir e não preciso do código para isso.

EDIT3: Aqui estou postando o código que tentei. Espero que isso "satisfaça" todas as pessoas que estavam pensando que eu não tentei nad

import java.util.ArrayList;

public class RegularInvestigator

public ArrayList createCombinations (ArrayList listOfFlightNumbers)

ArrayList<String> result = new ArrayList<String>();

for(int i = 1; i < listOfFlightNumbers.size(); i++) {

  String binaryEqvivalent = Integer.toBinaryString(i);System.out.println(binaryEqvivalent);
  String element = "";

  for(int j = 0; j < binaryEqvivalent.length(); j++)
    if(binaryEqvivalent.charAt(j) == '1')
      element += listOfFlightNumbers + " ";

  result.add(element.substring(0, element.length() - 1));
}

return result;

}

private String getContent(ArrayList<String> flight) {
String temp = "";

for(int i = 0; i < flight.size() - 1; i++)  temp += flight.get(i) + " ";

temp += flight.get(flight.size() - 1);

return temp;

}

private ArrayList removeElementAtIndex (vôo ArrayList, posição int)

ArrayList<String> res = new ArrayList<String>();

for(int i = 0; i < flight.size(); i++) {
  if(i != position) res.add(flight.get(i));
}

return res;

}}

EDIT4: Obrigado phoxis, PengOne, Jerry Coffin e oliholz por suas valiosas respostas:)

questionAnswers(6)

yourAnswerToTheQuestion