Целая часть от деления Остаток от деления 840 div 2 = 420 840 mod 2 = 0 420 div 2 = 210 420 mod 2 = 0 210 div 2 = 105 210 mod 2 = 0 105 div 2 = 52 105 mod 2 = 1 52 div 2 = 26 52 mod 2 = 0 26 div 2 = 13 26 mod 2 = 0 13 div 2 = 6 13 mod 2 = 1 6 div 2 = 3 6 mod 2 = 0 3 div 2 = 1 3 mod 2 = 1 1 div 2 = 0 1 mod 2 = 1 Остаток от деления записываем в обратном порядке. Получаем число в 2-ой системе счисления: 1101001000 840 = 1101001000
Данные в каждый массив вводим по строго по возрастанию через пробел, признак окончания ввода - число 0 или отрицательное, в конце ввода Enter.
// PascalABC.NET 3.2, сборка 1439 от 09.05.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=ReadSeqIntegerWhile('Последовательность 1:',t->t>0).ToArray; var b:=ReadSeqIntegerWhile('Последовательность 2:',t->t>0).ToArray; (var n,var m):=(a.Length-1,b.Length-1); (var i,var j,var k):=(0,0,0); repeat if a[i]=b[j] then begin k+=1; i+=1; j+=1 end else if a[i]<b[j] then i+=1 else j+=1; until (i>n) or (j>m); Writeln('k=',k) end.