Quote Originariamente inviata da lawrencepad Visualizza il messaggio
ma ci saranno una miriade di sbagli.. potreste aiutarmi passo passo? ve ne sarei grato..
Una "miriade" no ma .... quel pezzo:

codice:
        else if (b==0) 
            return 1;

non serve (e non ha senso). Il primo if può benissimo essere if (b >= 0)

Perché se ci ragioni, se b è 0 la condizione del for al primo ciclo è 1<=0 che ovviamente è false e quindi non entra proprio nel corpo neanche una volta, quindi totale resta a 1 che è già corretto (x elevato a 0 fa sempre 1)