Да се напише програма, която:
- позволява да се въведе число и го отпечатва, разложено на прости делители
например въвеждаме 18 и отпечатва 2 3 3; въвеждаме 23 и отпечатва 23 (понеже е просто) - отпечатва всички числа в интервала [a, b], разложени на прости множители.


Програмата може да разлага само до 41
VAR chislo : integer; BEGIN writeln('vavedi chislo: '); readln(chislo); repeat if chislo mod 2 = 0 then begin writeln('2'); chislo:=chislo div 2; end; until(chislo mod 2 <> 0); repeat if chislo mod 3 = 0 then begin writeln('3'); chislo:=chislo div 3; end; until(chislo mod 3 <> 0); repeat if chislo mod 5 = 0 then begin writeln('5'); chislo:=chislo div 5; end; until(chislo mod 5 <> 0); repeat if chislo mod 7 = 0 then begin writeln('7'); chislo:=chislo div 7; end; until(chislo mod 7 <> 0); repeat if chislo mod 11 = 0 then begin writeln('11'); chislo:=chislo div 11; end; until(chislo mod 11 <> 0); repeat if chislo mod 13 = 0 then begin writeln('13'); chislo:=chislo div 13; end; until(chislo mod 13 <> 0); repeat if chislo mod 17 = 0 then begin writeln('17'); chislo:=chislo div 17; end; until(chislo mod 17 <> 0); repeat if chislo mod 19 = 0 then begin writeln('19'); chislo:=chislo div 19; end; until(chislo mod 19 <> 0); repeat if chislo mod 23 = 0 then begin writeln('23'); chislo:=chislo div 23; end; until(chislo mod 23 <> 0); repeat if chislo mod 29 = 0 then begin writeln('29'); chislo:=chislo div 29; end; until(chislo mod 29 <> 0); repeat if chislo mod 31 = 0 then begin writeln('31'); chislo:=chislo div 31; end; until(chislo mod 31 <> 0); repeat if chislo mod 37 = 0 then begin writeln('37'); chislo:=chislo div 37; end; until(chislo mod 37 <> 0); repeat if chislo mod 41 = 0 then begin writeln('41'); chislo:=chislo div 41; end; until(chislo mod 41 <> 0); readln; END.Калояне, адмирации за решението, но е твърде усложнено. Вгледай се в задачата – виж че има повтарящи се блокове – това е явна индикация, че вместо тях трябва да има цикъл, в който този блок се среща само веднъж. А местата, които са различни между отделните блокове, ти показват къде трябва да има управляващи променливи или изрази, свързани с тях. Ако те притеснява това, че няма как с цикъл да изреждаш само простите числа – то достатъчно е да започваш от 2 нагоре и да увеличаваш делимото с 1 – така първо ще се мине през простите делители и ако числото не се дели на тях, ще продължи към следващите нагоре.