Алгоритм вычисления значения функции f(n), где n — натуральное число, задан следующими соотношениями: f(n) = n + 1 при n ≤ 2; f(n) = f(n − 1) + 3 · f(n − 2) при n > 2. чему равно значение функции f(4)?
/ PascalABC.NET 3.2, сборка 1385 от 14.02.2017 // Внимание! Если программа не работает, обновите версию!
begin Writeln('Поквартирная численность жильцов'); var a:=ArrRandom(36,1,10); a.Println; var mx:=a.Max; Write('Квартиры с максимальным количеством жильцов: '); a.Select((x,i)->(x,i)).Where(x->x[0]=mx).Select(x->x[1]+1).Println end.
PascalABC.NET 3.2: 1. begin write(ReadString.indexof(':')) end. Пример ввода: 1234:56 Пример вывода: 4
2. begin write(readString.ToWords.Select(x->x[1]).JoinIntoString) end. Пример ввода: Как любила язвить королева, собаки апплодировали Пример вывода: Клякса 3. begin write(readString.ToWords.Select(s->Length(s)).Max) end. Пример ввода: Не хочу учиться хочу жениться Пример вывода: 8 4. Если там нет знаков препинания: begin write(readString.ToWords.Select(s->ReverseString(s)).JoinIntoString(' ')) end. Если там есть знаки препинания, которые надо оставить на месте, то настолько же короткого решения мне не придумалось, можно так: begin var str := readString + ' '; var m := ''; for var i := 1 to str.Length do if str[i].IsLetter then m += str[i] else begin write(ReverseString(m), str[i]); m := ''; end; end. Пример ввода: амар алым умам Пример вывода: рама мыла маму
f(2)=2+1=3
f(3)=f(2)+3*f(1)=3+3*f(1)
f(1)=1+1=2
f(3)=3+3*2=9
f(4)=9+3*3=9+9=18
ответ: 18