Регистрация
Войти
Стать экспертом Правила
Информатика

Требовалось написать программу, которая для введённого натурального числа n выводит общее количество его различных делителей, включая 1 и n. К сожалению, ученик написал программу с ошибками:Pascalvar n, j, k : integer;beginread(n);j := 2;k := 0;while j * j < n do beginif n mod j = 0 thenk := k + 2;j := j + 1end;if j * j = n thenk := k + 3;write(k)end.Последовательно выполните следующее.1. Напишите, что выведет эта программа при вводе числа 10.2. Укажите два наименьшихзначения входной переменной n, при вводе которого программа выведет правильный ответ. Укажите это ответ в каждом случае.3. Найдите в программе все ошибки (их может быть одна или неКак узнать сколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.

ОТВЕТЫ
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).

810
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам