Задать вопрос
21 декабря, 19:17

Требовалось написать программу, которая для введённого натурального числа n выводит общее количество его различных делителей, включая 1 и n. К сожалению, ученик написал программу с ошибками:

Pascal

var n, j, k : integer;

begin

read (n) ;

j : = 2;

k : = 0;

while j * j < n do begin

if n mod j = 0 then

k : = k + 2;

j : = j + 1

end;

if j * j = n then

k : = k + 3;

write (k)

end.

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе числа 10.

2. Укажите два наименьших значения входной переменной n, при вводе которого программа выведет правильный ответ. Укажите это ответ в каждом случае.

3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.

+5
Ответы (1)
  1. 21 декабря, 19:43
    0
    1) При вводе n = 10 будет выведено 2, хотя на самом деле должно быть 4 (1, 2, 5, 10).

    2) При n = 4 или n = 9 будет выведен правильный ответ при n = 4, k = 3,

    при n = 9, к = 3

    3) Ошибка в строке k : = 0; должно быть k:=2; - для делителей 1 и n

    Ошибка в строке k : = k + 3; должно быть k:=k+1, если число n - полный квадрат, то добавляется делитель кор. квадр (n).
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Требовалось написать программу, которая для введённого натурального числа n выводит общее количество его различных делителей, включая 1 и ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы