Дано естественное число х, вывести на экран все делители этого числа.
Дано естественное число х, вывести на экран все делители этого числа. И я написал программку, пойдёт ли она под данное условие, и если нет, то что нужно поменять:
program zadacha;
var n,i:integer;
begin
i:=1;
while(i begin
if (n mod i=0) then write(i);
end;
writeln('n');
end.
1 ответ
Виолетта Бусургина
0. Ты никак не задаёшь n в программке. Для тебя стоит желая бы прочесть его: read(n);
1. Что написано внутри условия цикла while? Если по твоему решению, обязано быть "i lt;= n"
2. Делители будут "прилипать" друг к другу, выводи так: write(i, ' ');
3. Твой счётчик i не возрастает, программа зациклится. После if'а вставь i := i + 1;
Итоговый код:
var n, i: integer;
begin
read(n);
i := 1;
while (i lt;= n) do
begin
if n mod i = 0 then write(i, ' ');
i := i + 1;
end;
writeln('n');
end.
Есть, кстати, альтернативный метод поиска делителей. Выводить их он будет, правда, не в порядке возрастания.
var n, i: integer;
begin
read(n);
i := 1;
while (i * i lt; n) do
begin
if n mod i = 0 then write(i, ' ', n div i, ' ');
i := i + 1;
end;
if i * i = n then write(i, ' ');
writeln('n');
end.
1. Что написано внутри условия цикла while? Если по твоему решению, обязано быть "i lt;= n"
2. Делители будут "прилипать" друг к другу, выводи так: write(i, ' ');
3. Твой счётчик i не возрастает, программа зациклится. После if'а вставь i := i + 1;
Итоговый код:
var n, i: integer;
begin
read(n);
i := 1;
while (i lt;= n) do
begin
if n mod i = 0 then write(i, ' ');
i := i + 1;
end;
writeln('n');
end.
Есть, кстати, альтернативный метод поиска делителей. Выводить их он будет, правда, не в порядке возрастания.
var n, i: integer;
begin
read(n);
i := 1;
while (i * i lt; n) do
begin
if n mod i = 0 then write(i, ' ', n div i, ' ');
i := i + 1;
end;
if i * i = n then write(i, ' ');
writeln('n');
end.
Даша Далецкий-Бычкова
Спасибо огромное
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов