Дано естественное число. Отыскать наименьшую цифру и приписать её в начало

Дано естественное число. Отыскать наименьшую цифру и приписать её в начало и в конец числа

Задать свой вопрос
1 ответ
Вот два варианта решения:
1)В первом варианте программка выдает неправильный ответ, если в числе есть хотя бы один ноль.

var
  a, n, i, min, tmp, m: integer;
 
begin
  m := 1;
  read(a);
  tmp := a;
  n := 0;
  min := 10;
  while tmp gt; 0 do
   begin
    n := n + 1;
    if(tmp mod 10 lt; min) then min := tmp mod 10;
    tmp := tmp div 10;
  end;
  for i := 1 to n do
    m := m * 10;
  a := a + (min * m);
  a := a * 10;
  a := a + min;
  write(a);
end.

2)2-ой вариант с внедрением строчки:

var
  s: string;
  i, min: integer;
 
begin
  readln(s);
  min := 10;
  for i := 1 to length(s) do
    if(strtoint(s[i]) lt; min) then min := strtoint(s[i]);
  s := s + inttostr(min);
  s := inttostr(min) + s;
  writeln(s);
end.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт