Олимпиадный тренинг

Задача . П 85


Задача

Темы:
Требовалось написать программу, которая для введённого натурального числа 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.
#include<stdio.h>
main() {
  int n;
  scanf("%d",&n);
  int j = 2,  k = 0;
  while (j * j < n) {
    if (n % j == 0)
      k = k + 2;
    j = j + 1;
  }
  if (j * j == n)
    k = k + 3;
  printf("%d",k);
}
  
 

Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 10.
2. Укажите два наименьших  значения входной переменной n, при вводе которого программа выведет правильный ответ. Укажите это ответ в каждом случае.
3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде

time 500 ms
memory 32 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя