Var n,m,osn: integer; function nmbdec(var n,osn: integer): integer; var nmb,l,s,k: integer; begin nmb:=0; s:=0; k:=n; l:=1; while k>0 do begin s:=k mod 10; k:=k div 10; nmb:=nmb+l*s; l:=l*osn; end; Result:=nmb; end; { конец функции} begin write('число: '); readln(n); write('квадрат какого числа: '); readln(m); osn:=10; while osn>=2 do begin osn:=osn-1; if nmbdec(n,osn)=sqr(nmbdec(m,osn)) then begin writeln('основание системы = ',osn); break; end; end; end.
ИСПОЛЬЗУЕТ Вывод ИЗ "...\Отделы\Обмен\", Матем ИЗ "...\Отделы\Числа\";
ПЕР
A: РЯД 10 ИЗ ЦЕЛ;
сч, мин, имин: ЦЕЛ;
УКАЗ
ОТ сч := 0 ДО РАЗМЕР(A)-1 ВЫП
A[сч] := УЗК(ВШИРЦЕЛ(Матем.случ() * 49)) + 1;
Вывод.ЧЦел("%d ", A[сч], 0, 0, 0)
КОН;
мин := A[0];
имин := 0;
ОТ сч := 1 ДО РАЗМЕР(A) - 1 ВЫП
ЕСЛИ A[сч] < мин ТО мин := A[сч]; имин := сч КОН
КОН;
сч := A[РАЗМЕР(A) - 1];
A[РАЗМЕР(A) - 1] := A[имин];
A[имин] := сч;
Вывод.Цепь("^");
ОТ сч := 0 ДО РАЗМЕР(A)-1 ВЫП
Вывод.ЧЦел("%d ", A[сч], 0, 0, 0)
КОН
КОН Задание.