?>
Сообщение, содержащее буквы от A до Z, кодируется в числа с использованием следующего сопоставления: A - 1, B - 2, ..., Z - 26. Требуется по заданной последовательности цифр найти количество исходных сообщений, из которых она могла получиться.
Ответы
using namespace std;
double val, p;
//вводимые параметры значения функции и степень полинома
//x - значение функции
//res - значение, которое изменяется в процессе рекурсии по схеме Горнера
//s - рассматриваемая текущая степень x
double rec(double x, double res, double s)
{
if (s == 0.0)
return res;
return rec(x, x * res + s - 1, s - 1);
}
int main(){
cin >> val >> p;
//старший коэффициент в схеме Горнера сначала сносится вниз,
//поэтому его передаем в качестве начального параметра для результата
cout << fixed << rec(val, p, p) << endl;
return 0;
}