Есть ответ 👍

Дано натуральное число х, вывести на экран все делители этого числа. и я написал программу, пойдёт ли она под данное условие, и если нет, то что нужно поменять: program zadacha; var n,i: integer; begin i: =1; while(i begin if (n mod i=0) then write(i); end; writeln('n'); end.

180
326
Посмотреть ответы 2

Ответы на вопрос:


0. ты никак не задаёшь n в программе. тебе стоит хотя бы прочитать его: read(n); 1. что написано внутри условия цикла while? если по твоему решению, должно быть "i < = n" 2. делители будут "прилипать" друг к другу, выводи так: write(i, ' '); 3. твой счётчик i не увеличивается, программа зациклится. после if'а вставь i : = i + 1; итоговый код: var n, i: integer; begin read(n); i : = 1; while (i < = 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 < 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.
rbaimova
4,7(35 оценок)

Вмагазине в первый день продали 25 шоколадок, 50 мандаринов и 135 коробок печенья. а во второй день продали продуктов на 160 р больше чем вчера, купив : 50 шоколадок 100 мандаринов и 135 коробок печенья. сколько денег заработал магазин в 1 день и во второй, если 1 коробка печенья стоит 30 p. 25 шоколадок стоят 40 р а 25 мандаринов 60 р. p.s. решение  40 + (60 + 60) + (30 * 135) = 4165 -  1 день 4165 + 40 + 160 = 4365 - 2 день

Популярно: Информатика