AIUTO!!! PROGRAMMA DA FINIRE ENTRO LUNEDi'!!!

di il
1 risposte

AIUTO!!! PROGRAMMA DA FINIRE ENTRO LUNEDi'!!!

Salve a tutti. Mi sono appena iscritto a questo forum perchè ho bisogno urgente di aiuto!!!
Sono iscritto al primo anno di ingegneria informatica e il prof ci ha dato da fare delle tesine che, se fatte bene ci possono aiutare a snellire l'esame finale. Entro lunedì devo consegnare la terza ed ultima di queste mini-tesine ma e mi trovo al quanto in difficoltà!!!

Ora vi spiego: in pratica io gli do dei numeri da imput, devo trasformare questi numeri il liste ed effettuare vari calcoli (addizione, moltiplicazione e fattoriale)tutti con algoritmi possibilmente ricorsivi... Vi faccio degli esempi. Io do da imput 259 e 42, trasformo questi numeri da interi a liste (2-5-9 e 4-2). Faccio la somma tra queste 2 liste e dovrò ottenere un'altra lista risultato
(3-0-1). Lo stesso per la moltiplicazione 2-5-9 * 4-2 e dovrò ottenere 1-0-8-7-8. Lo stesso per il fattoriale: fattoriale di 1-0 dovrà essere 3-6-2-8-8-0-0...

Fino ad ora ho fatto solo il metodo che ottenuto il numero lo converte in stringa, eccolo:

class NodoNumero
{
public long num;
public NodoNumero next;

public NodoNumero (long num, NodoNumero next)
{
this.num = num;
this.next = next;
}

public static NodoNumero creaNumero(long n){

String s = String.valueOf(n);
int lung=s.length()-1;
NodoNumero x=new NodoNumero(Integer.parseInt(String.valueOf(s.charAt(lung))),null);
NodoNumero y=x;

return creaNumero(s,lung-1,y);
}


public static NodoNumero creaNumero(String s,int lung,NodoNumero y){

if (lung==0){
NodoNumero x = new NodoNumero (Integer.parseInt(String.valueOf(s.charAt(lung))), y);
y=x;
return y;}
else{
NodoNumero x=new NodoNumero (Integer.parseInt(String.valueOf(s.charAt(lung))),y);
y=x;
return creaNumero(s,lung-1,y);}
}
}

L'ho fatto ricorsivo perchè il prof voule tutto ricorsivo dove è possibile...

Voi come lo fareste sto cavolo di programma??? (ricordatevi che sono al primo anno quindi non fate cose troppo complicate... fino ad ora sono arrivato alle liste..)

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte