Приведем текст программы без комментариев.

   #include<iostream.h>
   main ()
   {
      int a,b=1,n;
      cout << "Введите целое число a: "; 
      cin >> a;
      cout << "Введите натуральное число n: "; 
      cin >> n;
      for  (int i=a; i<n; b*=i++) ;
      cout << "Результат = " << b << endl;
   }
Текст этой программы можно взять здесь.

    Вопрос может вызывать только конструкция b*=i++. Ее можно записать следующим образом: b = b * i; i++;. Отсюда становится понятным порядок ее выполнения: сначала значение переменной i умножается на b и результат помещается в b. Затем значение переменной i увеличивается на 1. Это значение используется при проверке условия i<n;.