Помощь - Поиск - Пользователи - Календарь
Полная версия: сомножители простого числа
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
-ice-
Код

var
n : integer;
j: integer;
begin
writeln ('Введите целое число');
readln (n);
if n=0 then
writeln ('для нуля лишена смысла')
else if n=1 then
writeln ('нет')
else
writeln ('‘Сомножели числа ',  n,' :');
if n<0 then
writeln ('-1, ');
n := -n;
j :=2;
while n> 1 do begin
while (n mod  j) = 0 do begin
writeln (j,',');
n := n div j;
end;
j :=j + 1;
end;
end.



не раскладывает на сомножители положительное число, что не так, помогите! плиз
volvo
Вообще-то это делается вот так:
Код
var
 i, x: word;
begin
 Write('Введите целое число'); ReadLn(x);
 If x = 0 then Writeln('для нуля лишена смысла')
 else if x = 1 then Writeln('нет')
       else begin
         i:=2;
         while (x>1) and (x mod i = 0) do begin
           write(i:4);
           x:= x div i;
         end;
         i:=3;
         while (i < x div 2) do begin
           while (x>1) and (x mod i = 0) do begin
             write(i:4);
             x:= x div i;
           end;
           inc(i,2);
         end;
         if x>1 then writeln(x:4);
       end { else };
 writeln;
end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.