Мне было предложено определить и решить повторение T (n), а также представить его в нотации Big-O, но я смущен этими двумя переменными. Я думаю, что имею дело с f(m,n) = 1 + f(m+1,n-3)
за n>1
, а f(1) = m+10
- мой базовый шаг? Но кроме этого я не уверен.Определить повторяемость с двумя переменными
int f(int m, int n)
{
if (n<=1)
return m+10;
else
return 1+f(m+1,n-3);
}
Вы говорите: 'е (п, т)', а затем сделать 'Int F (ИНТ м, Int N)' вы уверены, что ваш выражение верно? – Surya
Итак, теперь 'f (1)' вы имеете в виду 'n = 1', так как в условии, вы возвращаете его на основе значения' n', я полагаю. Не могли бы вы описать возможное значение 'm' в этом случае? – Surya
Обратите внимание, что время выполнения этой вещи не зависит от m. в частности, вы имеете T (m, n) = 1 + T (m + 1, n-3), T (a, 1) = T (a, 0) = T (a, -1) = 1. может быть что угодно. R (n) = 1 + R (n-3) (с R (n) = T (m, n)) и R (1) = R (0) = R (-1) = 1. Время выполнения T (m, n) равно ceil ((n + 1)/3). – thang