program raf105;
var
s,s1,s2: string;
slov,numb,i,j,l: integer;
begin
writeln('Введите строку:');
readln(s);
s:= lowercase(s);
s1:= '';
s2:= '1234567890';
while j<>-1 do
begin
j+= 1;
l+= 1;
for i:=1 to length(s1) do
if (s[j] = s1[i]) and (slov = 0)
then slov+= 1
else if (i<=length(s2)) and (s[j] = s2[i])
then numb+=1;
if s[j+1] = ' '
then j:= -1;
end;
for i:=l+1 to length(s) do
begin
if s[i] = ' '
then
begin
for j:=1 to length(s1) do
if s[i+1] = s1[j]
then slov+= 1;
end
else
begin
for j:=1 to length(s2) do
if s[i] = s2[j]
then numb+=1;
end;;
end;
writeln;
writeln('В строке:');
writeln(slov,' сл.');
writeln(numb,' циф.');
end.
Язык PascalABCответ:Дерево игры - в прилагаемом файле. У игрока, делающего ход первым (Пети) есть выигрышная стратегия: первый ход должен быть +3 (в куче получится 13 камней). В этом случае при ходе второго игрока (Вани) +3 (в куче 16 камней) первый (Петя) выигрывает ходом *2 (в куче 32 камня); при ходе второго игрока (Вани) *2 (в куче 26 камней) первый (Петя) также выигрывает ходом *2 (в куче 52 камня). Второй игрок (Ваня) может выиграть только в случае, если первый (Петя) сделает начальный ход *2 (в куче 20 камней), следующий ход (Вани) *2 (в куче 40 камней) приводит к выигрышу.
Код:
using System;namespace ThisAnswerIsNotMine { class Program { static void Main() { double a, S, V; Console.Write("Введите длину стороны куба: "); if (double.TryParse(Console.ReadLine()!, out a)) return; V = a * a * a; S = 6 * Math.Sqrt(a); Console.WriteLine($"Площадь равна {S}, а объём равен {V}."); } }}