Помощь - Поиск - Пользователи - Календарь
Полная версия: оператор цикла
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
pupsic
найти все делители числа . вывести на экран не применяя див и мод

uses crt;
var
i,n:integer;
begin
writeln('n');
readln(n);


for i:=1 to n div 2 do
if n mod i=0 then write (i, ' ');
end.



вот у меня так получаеться , а по другому я ввожу после for

t:=n;
while t>=i then t:=t-1
if t=0 then


вот что делать дальше путаюсь mega_chok.gif
volvo
Ну, если нельзя делить - значит надо отнимать от числа N текущее число i до тех пор, пока его МОЖНО отнимать (пока результат больше, чем i), и смотреть, чему равен остаток:

uses crt;
var
i, n, t:integer;
begin
writeln('n');
readln(n);

for i:=1 to n div 2 do begin
t := n;
while t >= i do
t := t - i;
if t = 0 then write(i, ' '); { <-- если остаток нулевой - значит, N делится на i }
end;

end.

pupsic
ну я так делала , но оно выводит только количество делителей , а мне нужны сами делители nea.gif

Добавлено через 1 мин.
а не не вопрос работает . Значит ошибалась спасибо
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.