Нужна )) если не сложно с коментариями описать функцию transform(n), которая "припишет" к числу n по единичке в начале и в конце. обратиться к функции со значениями 23, 234, 2345.
Function Transform(n:longint):longint; Var k,B:longint; Begin B:=n; k:=1; While B <> 0 do Begin k:=k*10; WriteLn('k = ',k); B:=B div 10; End; if n >= 0 then Begin WriteLn('n:= k + n = ',k,' + ',n,' = ',n+k); WriteLn('n:= 10*n + 1 = ',10*(k+n),' + ',1,' = ',(k+n)*10+1); Transform:=(k+n)*10+1 End; End; Var A:longint; Begin Write('Введите целое число: ');ReadLn(A); WriteLn(Transform(A)) End.
// Внимание! Если программа не работает, обновите версию!
function Transform(n:integer):=('1'+n+'1').ToInteger;
begin
Println(Transform(23),Transform(234),Transform(2345));
end.
Результат
1231 12341 123451
Var
k,B:longint;
Begin
B:=n;
k:=1;
While B <> 0 do
Begin
k:=k*10;
WriteLn('k = ',k);
B:=B div 10;
End;
if n >= 0 then
Begin
WriteLn('n:= k + n = ',k,' + ',n,' = ',n+k);
WriteLn('n:= 10*n + 1 = ',10*(k+n),' + ',1,' = ',(k+n)*10+1);
Transform:=(k+n)*10+1
End;
End;
Var
A:longint;
Begin
Write('Введите целое число: ');ReadLn(A);
WriteLn(Transform(A))
End.