no no Pirado sinó seria muy facil..... xd se trata de hacer operaciones con numeros Naturales (>0) pero de longitud aleatoria.... sin tener la limitacion del +-2147483647 del int
mira te pongo la suma por ejemplo:
public static String suma(String N1S, String N2S)
{ //N1S+N2S = otro String
int N1, N2, N3, Length, tempStrLength;
String N3S="";
int lengthN1 = N1S.length();//calculamos longitud de los strings
int lengthN2 = N2S.length();
if (lengthN1>lengthN2)
{
Length = lengthN1;
for (int i=0; i<(lengthN1-lengthN2); i++) N2S = "0"+ N2S;}
else if (lengthN1<lengthN2)
{
Length = lengthN2;
for (int i=0; i<(lengthN2-lengthN1); i++)N1S = "0"+ N1S;
}
else Length = lengthN1;
for (int i=(Length-1); i>=0; i--)
{
N1 = Integer.parseInt(N1S.substring(i, i+1));
N2 = Integer.parseInt(N2S.substring(i, i+1));
N3 = Bloc.suma0(N1, N2);//Uso de la funci de classe (Suma)
N3 = Bloc.suma0(N3, Bloc.carry);
Bloc.carry = 0;
if (i>0)
{
if (N3>9) //llevamos el carry
{
String temp3S = Integer.toString(N3);
tempStrLength = temp3S.length();
N3 = Integer.parseInt( temp3S.substring(tempStrLength-1, tempStrLength) );
Bloc.carry = Integer.parseInt( temp3S.substring(0, tempStrLength-1) );
}
}
N3S = Integer.toString(N3) + N3S;}
return N3S;//devuelve el valor de la suma
}
//----------------------------------------------------//
static int carry=0; //declaramos variables
public static int suma0(int num1, int num2
{return(num1 + num2);
}
NO SE COMO KEDARAN LAS TABULACIONES AL PEGAR AKI.... kiza keda inteligible XD
A grandes rasgos la Suma se hace Cifra a Cifra del String , pasando cada vez a INT solo a la cifra del String en el q nos encontramos.
La resta pues mas de lo mismo,,,, solo que un poco mas complikada por el tema de los signos.... luego la comparación pues también me ha salido.... y la multiplicación tambien que se basa en utilizar la comparacion para sakar el mejor codigo posible y en vez d sumar 40 veces 2.... sume 2 veces 40 por ejemplo. BUeno todo eso CLARO pero ahora DIVIDIR con STRINGS? sin poder pasar todo el STRING A INT y operar.... como lo ariais???