In continuare voi prezenta cum se pot realiza operatii pe numere mari cu foarte putine linii de cod. In general, multi programatori se complica la aceste operatii, desi nu este nevoie! Vom considera ca numerele mari sunt vectori in care elementul de indice 0 indica lungimea numarului, iar cifrele sunt retinute in ordinea inversa decat cea a citirii.
void add(int A[],int B[]){int i, t =0;for(i=1; i<=A[0]|| i<=B[0]|| t; i++, t/=10)
A =(t += A + B)%10;
A[0]= i -1;}
Inmultirea unui numar mare cu un numar mic:
void mul(int A[],int B){int i, t =0;for(i =1; i <= A[0]|| t; i++, t /=10)
A =(t += A * B)%10;
A[0]= i -1;}
Operatii pe numere mari
In continuare voi prezenta cum se pot realiza operatii pe numere mari cu foarte putine linii de cod. In general, multi programatori se complica la aceste operatii, desi nu este nevoie! Vom considera ca numerele mari sunt vectori in care elementul de indice 0 indica lungimea numarului, iar cifrele sunt retinute in ordinea inversa decat cea a citirii.
Inmultirea unui numar mare cu un numar mic:
Inmultirea unui numar mare cu un numar mare:
Scaderea a doua numere mari:
Impartirea unui numar mare la un numar mic:
Restul unui numar mare la un numar mic:
Sursa: Click
Edited by Achilles