G(9) = 9! = 362880
Объяснение:
Из условия задачи видно, что функция G рекурсивная, с условием завершения рекурсии при G(1) = 1
Тогда найдём значение при n = 9
Для удобства я буду обозначать -> как вхождение в рекурсию:
G(9) = G(8) * 9 -> G(7) *8 -> G(6) * 7 -> G(5) * 6 -> G(4) * 5 -> G(3) * 4 -> G(2) * 3 -> G(1) * 2 -> G(1) - это последовательность вызовов данной рекурсии, вглядевшись в которую можно увидеть факториал, откуда
G(9) = 9! = 362880
Теперь же пройдёмся обратно по рекурсии, где -> обозначает выход из рекурсии
G(1) = 1 -> G(2) = 1 * 2 = 2 -> G(3) = 2 * 3 = 6 -> G(4) = 6 * 4 = 24 -> G(5) = 24 * 5 = 120 -> G(6) = 120 * 6 = 720 -> G(7) = 720 * 7 = 5040-> G(8) = 5040 * 8 = 40320 -> G(9) = 40320 * 9 = 362880
2)Pascal
var s: string;
i, f, g: integer;
begin
writeln('Введите строку с угловыми скобками:');
readln(s);
f := pos('<', s);
if f = 0
then begin
write('Нет "<"');
if pos('>', s) = 0
then writeln('и ">"')
else writeln
end
else begin
g := 0;
for i := length(s) downto 1 do
if s[i] = '>'
then begin
g := i;
break
end;
if g = 0
then writeln('Нет ">"')
else if f > g
then writeln('">" левее "<"')
else begin
delete(s, f, g - f + 1);
writeln('Результат:');
writeln(s)
end
end
end.
Если гарантированно, что в тексте есть только по одному правильно расположенному символу "<" и ">", то совсем просто:
Pascal
var s: string;
begin
writeln('Введите строку с угловыми скобками:');
readln(s);
delete(s, pos('<', s), pos('>', s) - pos('<', s) + 1);
writeln('Результат:');
writeln(s)
end.
0