Ahojte, mám malý problém, robím program, do ktorého zadám číslo a vypíše mi všetky prvočísla od 2 po mnou zadané číslo.
Spravil som niečo takéto:
Kód: Vybrať všetko
var n, i, b: Integer;
begin
WriteLn('PROGRAM NA ZISTOVANIE PRVOCISEL');
WriteLn('');
Write('Zadaj cele cislo vacsie ako jedna: ');
ReadLn(n);
WriteLn;
b :=0;
if n<2 then WriteLn('Zle zadane cislo.')
else
while n>2 do
begin
for i := n downto 2 do
if n mod i =0 then b := i;
if b=n then Write(n, ' ');
n:=n-1;
end;
ReadLn;
end.
Čísla mi však vypisuje od najväčšieho po najmenšie, ako spraviť, aby to vypisovalo naopak? Tuším, že tam bude namiesto "for i := n downto 2 do" niečo ako "for i := x downto n do" pričom počiatočná hodnota x bude 2 a bude tam použitá funkcia Inc(x) ale akosi to neviem dať dokopy, vedel by mi s tým niekto pomôcť? Vďaka vopred.