Алгоритм вычисления значения функции f(n), где n - натуральное число, задан следующими соотношениями: f(1)=1 f(n)=f(n-1)+n, если n> 1. чему равно значение функции f(30)?
procedure hase(var k,n,max:integer); //сама последовательность begin if not(odd(n)) then n:=n div 2 else n:=n*3+1; //условие про чётность writeln(n); //вывод нового члена последовательности inc(k); //увеличение значения счётчика шагов if max<n then max:=n; //поиск вершины end;
procedure start(var k,n,max:integer); //название процедуры намекает begin readln(n); k:=0; writeln('Seq:'); max:=integer.MinValue; while n<>1 do hase(k,n,max); writeln('Шаги:',k); writeln('Вершина:',max); end; begin start(k,n,max); end. Пример ввода: 6 Пример вывода: Seq: 3 10 5 16 8 4 2 1 Шаги:8 Вершина:16