witam mam problem program ma wyświetać składowe podanego na np; 3=3 3=2+1 3 =1+1+1
tylko ja mam mu założyć ilo elementowe zbiory ma wyświetlać np przy 3 tylko 2 czyli 2,1 .
oto kod który wyświetla mi wszystko
import java.util.Scanner;
public class Zliczanie {
int[] tab = new int[100];
int[] tabPomoc=new int[100];
void podzialParametr(int n,int ileCyfr){
tab[0]=1;
dzielNaWybrana(1,n);
}
void podzial(int n){
tab[0]=1;
dziel(1,n);
}
private void dziel(int pozycjaWTabeli, int pozostalo) {
if(pozostalo==0){
for(int i=1; i<pozycjaWTabeli;i++){
System.out.print(tab[i]+" ");
}
System.out.println("");
}else{
for(int j=tab[pozycjaWTabeli-1];j <= pozostalo;j++){
tab[pozycjaWTabeli]=j;
dziel(pozycjaWTabeli+1, pozostalo-j);
}
}
}
public void dzielNaWybrana(int pozycja, int pozostalo){
if(pozostalo==0){
for(int i=1; i<pozycja;i++){
System.out.print(tab[i]+", ");
if(i==3){
for(int k=0;k<3;k++){
tabPomoc[k]=tab[i-3];
//System.out.println("P: "+tabPomoc[k]);
}
}
}
System.out.println("");
}else{
for(int j=tab[pozycja-1];j <= pozostalo;j++){
tab[pozycja]=j;
dzielNaWybrana(pozycja+1, pozostalo-j);
}
}
}
public static void main(String[] args) {
Zliczanie z=new Zliczanie();
System.out.println("Podaj liczbę n do podziału:");
// Scanner sc = new Scanner(System.in);
//z.podzial(7);
z.podzialParametr(5,4);
}
}