Выше ответ более простой, но может Вам нужно что-то сложное?
Например:
1) 10101(2)<span> = 1∙2^</span>4+0∙2^3+1∙2^2+0∙2^1+1∙2^0<span> = 16+0+4+0+1 = 21(</span>10)
2) 11101(2)<span> = 1∙2^</span>4+1∙2^3+1∙2^2+0∙2^1+1∙2^0<span> = 16+8+4+0+1 = 29(</span><span>10)
3) </span>01010(2)<span> = 0∙2^</span>4+1∙2^3+0∙2^2+1∙2^1+0∙2^0<span> = 0+8+0+2+0 = 10(</span>10)
4) 11111(2)<span> = 1∙2^</span>4+1∙2^3+1∙2^2+1∙2^1+1∙2^0<span> = 16+8+4+2+1 = 31(</span><span>10)
5) 01110(2) = </span>0∙2^4+1∙2^3+1∙2^2+1∙2^1+0∙2^0<span> = 0+8+4+2+0 = 14(</span>10)
<span>10101(2) - 10101 в двоичной системе счисления
21(10) - 21 в десятичной системе счисления
1*2^4 - 1 умножить на 2 в четвёртой степени
* - знак умножить</span>
<em>// PascalABC.NET 3.3, сборка 1599 от 17.12.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var s:=ReadlnString(' >');
Write('-> ');
var n:=s.Length;
if n<4 then Writeln(s)
else
while true do begin
var p:=n mod 3; p:=p=0?3:p;
Write(s[:p+1],',');
s:=s[p+1:];
n:=s.Length;
if n=3 then begin Writeln(s); Exit end
end
end.
<u>Примеры</u>
> 1231423454123112313211
-> 1,231,423,454,123,112,313,211
> 123456
-> 123,456
> 13
-> 13
<em>// PascalABC.NET 3.3, сборка 1611 от 06.01.2018</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
procedure NOD(a,b:integer; var r:integer);
begin
while b>0 do (a,b):=(b,a mod b);
r:=a
end;
begin
var a,b,c,d:integer;
Write('Введите четыре натуральных числа через пробел: ');
Read(a,b,c,d);
var p,q,r:integer;
NOD(a,b,p); q:=(a*b) div p; // НОК(a,b)
NOD(c,d,p); r:=(c*d) div p; // НОК(c,d)
NOD(q,r,p); r:=(q*r) div p; // НОК(a,b,c,d)
Writeln('НОК=',r)
end.
<u>Пример</u>
Введите четыре натуральных числа через пробел: 15 23 36 150
НОК=20700
Буква Г
ну мб А
Я думаю , что Г