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);	

	}

}