Есть шестилитровая банка в которой 4 литра воды, также есть семилитровая банка с 6 литрами воды и трехлитровая банка нужно сделать так чтобы в шестилитровой и семилитровой было по 5 литра.
// PascalABC.NET 3.0, сборка 1164 от 11.02.2016 function gcd(a,b:integer):integer; // Нахождение НОД var i: longint; begin while b <> 0 do begin a := a mod b; i := b; b := a; a := i end; Result:=a end;
begin var a:=ReadInteger('a='); var b:=ReadInteger('b='); var nod:=gcd(a,b); if nod>1 then WritelnFormat('Дробь сократима: {0}/{1}={2}/{3}', a,b,a div nod,b div nod) else WritelnFormat('Дробь {0}/{1} несократима',a,b) end.
// PascalABC.NET 3.1, сборка 1230 от 27.04.2016 begin var m:=ReadInteger('Количество элементов в массиве А (m):'); var n:=ReadInteger('Количество элементов в массиве B (n):'); var k:=ReadInteger('Позиция вставки k (1<k<m):'); if (k>1) and (k<m) then begin var a:=ArrRandom(m,1,99); Writeln('Массив A'); a.Println; var b:=ArrRandom(n,1,99); Writeln('Массив B'); b.Println; Writeln('Результат вставки'); (a[:k]+b+a[k:]).Println end else Writeln('Вы нарушили условие 1<k<m') end.
Тестовое решение Количество элементов в массиве А (m): 10 Количество элементов в массиве B (n): 6 Позиция вставки k (1<k<m): 4 Массив A 68 64 30 75 36 15 50 39 92 26 Массив B 56 68 97 30 95 63 Результат вставки 68 64 30 75 56 68 97 30 95 63 36 15 50 39 92 26
function gcd(a,b:integer):integer;
// Нахождение НОД
var
i: longint;
begin
while b <> 0 do begin
a := a mod b;
i := b; b := a; a := i
end;
Result:=a
end;
begin
var a:=ReadInteger('a=');
var b:=ReadInteger('b=');
var nod:=gcd(a,b);
if nod>1 then
WritelnFormat('Дробь сократима: {0}/{1}={2}/{3}',
a,b,a div nod,b div nod)
else WritelnFormat('Дробь {0}/{1} несократима',a,b)
end.
Тестовое решение:
a= 23541
b= 335160
Дробь сократима: 23541/335160=59/840
begin
var m:=ReadInteger('Количество элементов в массиве А (m):');
var n:=ReadInteger('Количество элементов в массиве B (n):');
var k:=ReadInteger('Позиция вставки k (1<k<m):');
if (k>1) and (k<m) then begin
var a:=ArrRandom(m,1,99); Writeln('Массив A'); a.Println;
var b:=ArrRandom(n,1,99); Writeln('Массив B'); b.Println;
Writeln('Результат вставки'); (a[:k]+b+a[k:]).Println
end
else Writeln('Вы нарушили условие 1<k<m')
end.
Тестовое решение
Количество элементов в массиве А (m): 10
Количество элементов в массиве B (n): 6
Позиция вставки k (1<k<m): 4
Массив A
68 64 30 75 36 15 50 39 92 26
Массив B
56 68 97 30 95 63
Результат вставки
68 64 30 75 56 68 97 30 95 63 36 15 50 39 92 26