Witam. Mam do napisania program który obliczy nwd z bardzo dużych liczb(do 100 cyfr).Nie mogę użyć funkcji systemowych tylko muszę napisać swoje. Wykombinowałem to tak:
- Wczytuję liczby z pliku do listboxów( listbox_a- pierwsza liczba, listbox_b - druga liczba).
- Liczby trzymam w zmiennej string. Czyli w tablicy charów.
3.Napisałem funkcję która sprawdza czy a>b. - Algorytm obliczania Nwd wygląda tak:
while (a<>b) do begin
if (porownaj(a,b)=True) then
a:=odejmij(a,b)
else
b:=odejmij(b,a);
- Teraz potrzebuję funkcję która odejmie od siebie dwie liczby w formacie string w najbardziej wydajny sposób.
Pytania:
a) czy operacje lepiej wykonywać na tablicy charów czy lepiej wprowadzić to do tablicy integer?
b) Jak sprawdzić długość tablicy? Gdy wpiszę setlength(tablica,20) to elementy będą numerowane od 1 do 20?
c) jak prościej napisać ten program?