1) 73 = 2201 (Целая часть числа находится делением на основание новой это 3)
73/3 сотаток 1; 24/3 остаток 0; 8/3 остаток 2; 6/2 остаток 2; смотрим справа на лево 2201
2) 222 = 26
2223 = 2∙32+2∙31+2∙30 = 18+6+2 = 26 v10
3) АВС = 2748
ABC v16 = 10∙16 v2+11∙16 v1+12∙16 v0 = 2560+176+12 = 2748 v10
4) 645 = 10040
645 делим на 5 остатки получаем 0, 4, 0, 0, 1
5) 123 = 27
123 v4 = 1∙4 v2+2∙4 v1+3∙4 v0 = 16+8+3 = 27 v10
6) 64 = 1000000 Делим все на два, остатки от деления получаются 0000001, затем справа на лево.
7) 572 = 378. 572 v8 = 5∙8 v2+7∙8 v1+2∙8 v0 = 320+56+2 = 378 v10
8) 187 = 273. Делим на 8, 187/8 (остаток 3) 23/8 (остаток 7) брали на 2
с права на лево 372
9) ВА1 = 2977 (BA116 = 11∙162+10∙161+1∙160 = 2816+160+1 = 2977 v10)
10) 3540 = DD4 (3540/16 (4) = 221/16=13), 13 =D, 4. Получилось: 354010 = DD4 v16
xD
uses crt;
var
dt,t1,t2:LongInt;
function GetTime:LongInt;
var
substr,str:string;
ERR,step,spacepos,code,num:Integer;
t:longint;
begin
ERR:=0;
repeat
t:=0;
step:=1;
if ERR<>0 then writeln('Nepravilnie dannie, povtorite vvod:');
ERR:=0;
readln(str);
str:=str+' ';
repeat
spacepos:=pos(' ',str);
if (spacepos<>0) then
begin
substr:=copy(str,1,spacepos-1);
delete(str,1,spacepos);
val(substr,num,code);
if code=0 then
begin
if (step=1) then begin if (num>=0) and (num<=23) then t:=t+num*60*60 else ERR:=3; end;
if (step=2) then begin if (num>=0) and (num<=59) then t:=t+num*60 else ERR:=3;end;
if (step=3) then begin if (num>=0) and (num<=59) then t:=t+num else ERR:=3;end;
inc(step);
end
else ERR:=2;
end else ERR:=1;
until ((step=4) or (err<>0));
until err=0;
GetTime:=t;
end;
begin
writeln('pervoe vremy:');
t1:=GetTime;
writeln('vtoroe vremy:');
t2:=GetTime;
if t2>=t1 then dt:=t2-t1 else dt:=t2-t1+24*60*60;
writeln('raznica v sekundah: ');
writeln(dt);
end.