Вот посмотри, может сем uses crt; var s: string; function Kslov (str: string; c: char): integer; var i,k: integer; begin str:=str+' '; k:=0; for i:=1 to length(str)-1 do if (str[i+1] in [' ','.',',','-',':',';','!','?']) and (str[i]=c) then inc(k); Kslov:=k; end; procedure Del(var str: string); var i,j: integer; begin str:=str+' '; i:=length(str)+1; repeat dec(i); until(str[i+1]=' ') and (str[i]='о'); j:=i; repeat dec(i); until(str[i+1]=' ') or (i=1); delete(str,i,j-i); end; begin write('s='); readln(s); if Kslov (s,'о')>Kslov (s,'а') then Del(s); write('s=',s); End.
Bordo
18.11.2021
Ll - long long
dp[i] = dp[i-1] + dp[i-2] + dp[i-5] + dp[i-10]; ll dp[666]; dp[0] = 1; for(int i=0;i<=64;i++) { dp[i+1]+=dp[i]; dp[i+2]+=dp[i]; dp[i+5]+=dp[i]; dp[i+10]+=dp[i]; cout << i << ": " << dp[i] << endl; } это если порядок важен, то есть 2 + 1 != 1 + 2, тогда ответ 489475342266653, наверное а иначе 644
uses crt;
var s: string;
function Kslov (str: string; c: char): integer;
var i,k: integer;
begin str:=str+' ';
k:=0;
for i:=1 to length(str)-1 do if (str[i+1] in [' ','.',',','-',':',';','!','?']) and (str[i]=c) then inc(k);
Kslov:=k;
end;
procedure Del(var str: string);
var i,j: integer;
begin str:=str+' '; i:=length(str)+1;
repeat dec(i);
until(str[i+1]=' ') and (str[i]='о');
j:=i;
repeat dec(i);
until(str[i+1]=' ') or (i=1); delete(str,i,j-i);
end;
begin write('s='); readln(s); if Kslov (s,'о')>Kslov (s,'а') then Del(s); write('s=',s);
End.