CyM98 << Suma y potencia de números largos >>

Este es un ejemplo de como usar la función sumarpositivos, que permite sumar enteros positivos largos representados como vectores. En este ejemplo se calcula 2^50+5^35. Como todavía no escribimos una subrutina para multiplicar, lo que hacemos es sumar el número muchas veces. De la misma manera se obtienen las potencias.

Defint A-Z
Const largo = 100
DIM a(1 TO 100)' Pienso que es el numero A
DIM b(1 TO 100)' Pienso que es el numero B
DIM c(1 TO 100)' Pienso que es el numero C
a(1) = 1' A=1
For x = 1 TO 50
    sumarpositivos a(), a(), a()' A=2*A
Next x
'entonces A=2^50
b(1) = 1' B=1
For x = 1 TO 35
    sumarpositivos b(), b(), c()' C=2*B
    sumarpositivos c(), c(), c()' C=2*C=2*2*B=4*B
    sumarpositivos c(), b(), b()' B=C+B=4*B+B=5*B
Next x
'entonces B=5^35
sumarpositivos a(), b(), c()
'entonces C=2^50+5^35
Print
Print
For x = 100 TO 1 Step -1
    Print c(x);
Next x
Print

Defint A-Z
Sub sumarpositivos (a() AS Integer, b() AS Integer, resultado() AS Integer)
    'Const largo = 100'ya esta definida afuera
    MeLlevo = 0' al principio no me llevo nada
    For i = 1 TO largo
        resultado(i) = a(i) + b(i) + MeLlevo' sumo cifra por cifra
        If resultado(i) > 9 Then ' si es 10 o mas me llevo uno
            resultado(i) = resultado(i) - 10
            MeLlevo = 1
        Else ' sino no me llevo nada
            MeLlevo = 0
        End If
    Next i
    If MeLlevo = 1 Then 'si me llevo una es que el numero era muy grande
        Print "Error en la suma: resultado muy grande"
        Error 6' Genera el error correspondiente
    End If
End Sub

En Suma de números enteros largos podes encontrar como extender esta función a todos los enteros.


Lecciones relacionadas:

Suma de enteros largos


Comentarios, preguntas, sugerencias:

Nombre y apellido (opcional):

E-mail (opcional):

    


OmaNet   Curso CyM98 OmaNet - Educación Interactiva
   
www.oma.org.ar/omanet | omanet@oma.org.ar
mensajes: webmaster@oma.org.ar
duty free alcohol duty free cigarette usa buy cigars online duty free cosmetic brands duty free fragrances prices duty free tobacco online