Данные в каждый массив вводим по строго по возрастанию через пробел, признак окончания ввода - число 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.
В скобках систмы счисления. 8в1 это восемь в первой степени
3.
135(8) = 5*8в0 + 3*8в1 + 1*8в2 = 5+24+64=93
4.
110001001111 = делим на тетраеды
1100 0100 1111
переводим каждую отдельно в десятичную
1100 = 0*2в0 + 0*2в1 + 1*2в2 * 1*2в3 = 0+0+4+8 = 12
12 в 16тиричной систме записывается буквой С
0100 = 0*2в0 + 0*2в1 + 1*2в2 + 0*2в3 = 0+0+4+0 = 4
в 16тиричной записывается как 4
1111 = 1*2в0 + 1*2в1 + 1*2в2 + 1*2в3 = 1+2+4+8 = 15
в 16тиричной это записывается как F
Итого число получается - С4F
5.
110001001111(2) = 1*2в0 + 1*2в1 + 1*2в2 + 1*2в3 + 1*2в6 + 1*2в10 + 1*2в11 = 1+2+4+8+64+1024+2048 = 3151