Exercício de investimento de mercado de ação

tô fazendo esse exercício mas eu estou há 1 hora estacionado pois ele tá encontrado só o resultado final, ele não tá andando pelos outros lados. Eu imaginei como se fosse uma espécie de tupla, árvore mas ele só anda em um lado da árvore.
vê o exercício e me fala no que eu estou errando

http://br.spoj.com/problems/ACOES1MG/

import java.util.Scanner;
public class Acoes {
	int maximo, cont, resultado1, resultado2,resultado3, temp, dinheiro, dinheiro2;
			
	public static void main (String args[]){
		Acoes acoes = new Acoes();
		acoes.entradas();
		acoes.calculo(acoes.dinheiro);
	}
	
	void entradas(){
		Scanner s = new Scanner(System.in);
		System.out.println("Digite a quantidade de dinheiro que quer investir: ");
		dinheiro = s.nextInt();
		System.out.println("Digite o valor máximo que você quer investir para cada empresa");
		maximo = s.nextInt();
	}
	
	void calculo(double dinheiro){
		while(dinheiro >= maximo || this.dinheiro>=maximo){

			
				dinheiro = this.dinheiro/2;
				this.dinheiro =(int)(this.dinheiro-dinheiro);
				
				
				if(dinheiro <= maximo || this.dinheiro<=maximo){
					if(dinheiro<=maximo){
						cont++;
					}
					if(this.dinheiro<=maximo){
						cont++;
					}
				}
				
				dinheiro2 = this.dinheiro/2;
				
			System.out.println(this.cont);	
		}

	}
}