SoloCodigo

Programación General => Java => Mensaje iniciado por: lumiere_87 en Martes 11 de Septiembre de 2007, 01:25

Título: Suma De Dos Numeros De 40 Cifras
Publicado por: lumiere_87 en Martes 11 de Septiembre de 2007, 01:25
Hola....estoy comenzando a programar en java y necesito hacer un programa en netbeans que sume dos numeros de 40 cifras.......tengo este codigo, pero no me da...y ya no se que hacer!!! AUXILIOOOOOOOOOOOOOOO!!!!!!!!!!!!!
Título: Re: Suma De Dos Numeros De 40 Cifras
Publicado por: jpaler en Miércoles 12 de Septiembre de 2007, 13:27
el procedimiento es sencillo, pues lo q debes hacer es intentar sumar digito contra digito como si estubieras haciendo una suma con lapiz y papel.

1. Pides los dos vectores los cuales contendran cada uno los 40 numeros.
2. Sumas el numero de la posicion i del v1 con la misma posicion del v2
3. Luego, si el resultado es <=9, simplemente lo almacenas en la misma posicion
... i pero de un nuevo vector, por ejemplo, vr. pero si el resultado >9 entonces,
... en vr solo almacenas el digito de la derecha, y el digito de la izquierda se lo
... deberas sumar ala proxima suma q realices ya con i+1.

Mira: Te voy a hacer un ejemplo con 5 digitos nada mas:

Código: Text
  1. v1 = [1,2,3,4,5]   tam=5
  2. v2 = [1,2,3,4,5]   tam=5
  3. vr = [0,0,0,0,0,0] tam=6
  4.  
  5. int r=0,acarreo=0;
  6. for(int i=4; i&#62;=0; i--){
  7.   r=v1[i]+v2[i]+acarreo;
  8.   if (r&#60;=9){
  9.     vr[i+1]=r;
  10.   }
  11.   else{
  12.     vr[i+1]=(r%10);  //cojo el digito de la derecha
  13.     acarreo=r/10;     //cojo el digito de la izquierda
  14.   }
  15. }
  16. vr[0]=acarreo;
  17.  


Esto es igual a como si estubieras realizando una suma en el colegio.
Salu2 !!!
Título: Re: Suma De Dos Numeros De 40 Cifras
Publicado por: antony_soluciones en Miércoles 12 de Septiembre de 2007, 21:09
hola

¿No pudes usar doubles?

double n1 = 1111111111111111111111111111111111111d;
double n2 = 9999999999999999999999999999999999999d;  
System.out.println(n1 + n2);