% Adding two 30-digit numbers % MATLABĀ® - A Practical Introduction to Programming % and Problem Solving - Sixth Edition - Stormy Attaway % p. 200 - n. 33 % Write a script to add two 30-digit numbers and print the result. % This is not as easy as it might sound at first, because integer types may % not be able to store a value this large. % One way to handle large integers is to store them in vectors, where % each element in the vector stores a digit of the integer. % Your script should initialize two 30-digit integers, storing each in a % vector, and then add these integers, also storing the result in a vector. % Create the original numbers using the randi function. % Hint: add 2 numbers on paper first, and pay attention to what you do! % Numero di cifre dei numeri da sommare % Modificare il valore per cambiare il numero di cifre n=30; % Generazione di due array di n interi casuali num1=randi([0 9],1,n); num2=randi([0 9],1,n); % Visualizzazione degli array nel formato di numero intero fprintf(' %s\n',strjoin(string(num1),'')) fprintf(' %s\n',strjoin(string(num2),'')) % Preallocazione della variabile con il risultato num3=zeros(1,n+1); % Ciclo di somme con riporto for i=(n:-1:1) somma=num1(i)+num2(i)+num3(i+1); resto=mod(somma,10); num3(i+1)=resto; num3(i)=num3(i)+(somma-resto)/10; end % Visualizzazione del risultato fprintf('%s\n',strjoin(string(num3),''))