2. Дано натуральное число. Получить все его делители и количество этих делителей. Var n,i :integer begin write('введите число'); read(n); writeln('делители'); for i:=1 to a do if n mod i=0 then writeln(i) end. Правильно ли? и...
2. Дано натуральное число. Получить все его делители и количество этих делителей.
Var n,i :integer
begin
write('введите число');
read(n);
writeln('делители');
for i:=1 to a do
if n mod i=0 then writeln(i)
end.
Правильно ли? и объясните каждую строку,точнее ее роль.Что она делает? И приведите какое нибудь число в пример и сделайте по той же программе ,чтобы я точно поняла)))
Ответ(ы) на вопрос:
Гость
1. Уже в первой строке ошибка - отсутствует символ ";" в конце строки.
2. В строке № 8 ошибка, не объявленная переменная "a"
3. Это только ошибки в синтаксисе, после их исправления программа запускается, но работать так как нужно не будет. Ищем ошибки в алгоритме:
исправим стороку "for i := 1 to a do" на "for i := 1 to n do" и получим вывод всех делителей, но в условии задачи требуется вывести и их количество. Вот исправленный код программы:
var
n, i, a: integer;
begin
write('введите число');
read(n);
writeln('делители');
for i := 1 to n do
if n mod i = 0 then begin
writeln(i); a:=a+1;
end;
writeln('Делителей ',a);
end.
Не нашли ответ?
Похожие вопросы