Nie wiem jak na pisać program w pascalu ze zmienną dynamiczną program który czyta liczbę całkowitą a następnie znajduje jej najmniejszy podzielnik np wpisze liczbe 21 to najmniejszy podzielnik tej liczby to bedzie 3 wpisze 37 to najm podz bedzie 37...itd
Program bez zmiennej dynamicznej bedzie wyglądał mniej więcej tak:
najpierw trzeba wczytać liczbe calkowita np. ReadLn(N);
potem szukamy podzielnika od najmniejszego, w petli, skonczymy jak znajdziemy. Podzielnosc sprawdza sie instrukcja mod:
K := 1;
repeat
Inc(K);
until (N mod K) = 0;
i dziala. To jest bardzo niefachowe, dziala powoli, ale jakos idzie.
Mozna jeszcze to zapisac tak:
K := 2;
while (N mod K) <> 0 do Inc(K);
i wyjdzie na to samo.
Jesli liczba calkowita moze byc ujemna, albo zero, to trzeba jeszcze sie przed tym obronic (oczywiscie po wczytaniu, a przed szukaniem):
if N < 0 then N := -N;
if N = 0 then
begin
WriteLn('Dla 0 nie szukamy podzielnika!');
Halt;
end;
no i własnie do tego programu trzeba zstosowac zmienna dynamiczną,tylko jak??