// PascalABC.NET 3.3, сборка 1555 от 21.10.2017 // Внимание! Если программа не работает, обновите версию!
type fraction=class
private
class function GCD(a,b:BigInteger):BigInteger; begin while b<>0 do (a,b):=(b,a mod b); Result:=a end;
public
numerator:BigInteger; denominator:BigInteger;
constructor Create(num:BigInteger:=0; denom:BigInteger:=1); begin var n:=GCD(num,denom); numerator:=num div n; denominator:=denom div n end;
class function operator +(a,b:fraction):fraction; begin var n:=GCD(a.denominator,b.denominator); Result:=new fraction(a.numerator*(b.denominator div n)+ b.numerator*(a.denominator div n),a.denominator div n*b.denominator); end; end;
function Print(Self:fraction; s:string:=' '):fraction; extensionmethod; begin Result:=Self; if Self.denominator=1 then Write(Self.numerator,s) else Write(Self.numerator,'/',Self.denominator,s) end;
function Read:fraction; begin var s:=ReadlnString('Введите через пробел числитель и знаменатель:'); var w:=s.ToWords; Result:=new fraction(BigInteger.Parse(w[0]),BigInteger.Parse(w[1])) end;
begin var a:=Read; var b:=Read; (a+b).Print end.
Примеры Введите через пробел числитель и знаменатель: 1 2 Введите через пробел числитель и знаменатель: 5 130 7/13
Введите через пробел числитель и знаменатель: 132 65 Введите через пробел числитель и знаменатель: 1325 345 26333/4485
Введите через пробел числитель и знаменатель: 1231234450435679092 234535650234953469825 Введите через пробел числитель и знаменатель: 234346623432456207645 2345893524353652 2617268599782944014855731813763449145529/26199793481726210718128032276692900
//PascalABC v3.1
var s: string;
procedure repAll(var s: string; wOld, wNew: string);
var res: string;
p, len: integer;
begin
len:= Length(wOld);
res:= '';
while Length(s) > 0 do begin
p:= Pos(wOld, s);
if p = 0 then begin res:= res + s; break; end;
if p > 1 then res:= res + Copy(s,1,p-1);
res:= res + wNew;
if p+len > Length(s) then
s:= ''
else s:= Copy(s,p+len,Length(s));
end;
s:= res
end;
begin
readln(s);
repAll(s, 'СО', 'ТУ');
writeln(s)
end.
Тестовое решение:
СОК СОК СОК КОК ПОК
ТУК ТУК ТУК КОК ПОК