Задача на языке Pascal

Задача на языке Pascal
Маленький Вася очень любит уравнения. Однажды ему на глаза попалось уравнение
x + y + xy = n. Вася захотел узнать количество пар целых неотрицательных чисел x и y, которые
являются решениями этого уравнения.
Так как Вася еще маленький, то он попросил вас посчитать это количество.
Помогите

  • Чем помочь? Что ты уже сделал? Что не получается? Где твой исходник?
    Пиши на почту
  • var i,j,n,m:longint;
    begin
    write('n ? '); readln(n); m:=0;
    for i:=0 to n do for j:=0 to n-i do if i+j+i*j=n then inc(m);
    writeln(m div 2); readln
    end.
  • Логично было бы думать, что это симметричное уравнение (х и у равнозначны и могут быть заменены один на другой) . И целые неотрицательные корни его не превышают n:
    0+y+0*y=n
    y=n
    Таким образом, мы можем тупо и в лоб крутить вложенный цикл от 0 до n и проверять, верно ли получившееся выражение.
    Можно навертеть сюда еще всяких оптимизаций - это я оставляю тебе для самостоятельного изучения.
    Дерзай.
  • Васе нужно указать какие данные нужно вводить с клавиатуры, откуда брать XYN