Вопрос задан 18.02.2019 в 12:25. Предмет Информатика. Спрашивает Тимонин Никита.

Дано два натуральных числа N и M.Написать программу для определения наименьшего из чисел,

составленных из цифр данных чисел. Незначащих нулей в найденном числе быть не должно.Формат входных данных:Входной файл input.txt содержит два натуральных числа N (10 <= N <= 10^100) и M (10 <= M <= 10^100), разделенных одним пробелом.Формат выходных данных:Выходной файл output.txt должен содержать найденное наименьшее число.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Жукова Рина.
procedure ShellStr(var s: string);
{ сортирует символы строки методом Шелла }
var
  i, j, n, step: integer;
  c: char;
begin
  s := Trim(s);
  n := Length(s);
  step := n div 2;
  while step > 0 do
  begin
    for j := n - step downto 1 do
    begin
      i := j;
      while i <= n - step do
      begin
        if s[i] > s[i + step] then
        begin
          c := s[i];
          s[i] := s[i + 1];
          s[i + 1] := c
        end;
        i := i + step
      end
    end;
    step := step div 2
  end
end;

procedure TrimNullsLeft(var s: string);
{ Усекает левые (незначащие нули) в строке s }
var
  i, n: integer;
begin
  i := 1; n := Length(s);
  while (s[i] = '0') do i := i + 1;
  s := Copy(s, i, n - i + 1)
end;

var
  p: integer;
  s, M, N: string;
  f: text;

begin
  Assign(f, 'input.txt');
  Reset(f);
  Readln(f, s);
  Close(f);
  Assign(f, 'output.txt');
  Rewrite(f);
  s := Trim(s);
  p := Pos(' ', s);
  M := Copy(s, 1, p - 1);
  N := Copy(s, p + 1, Length(s) - p);
  s := M + N;
  ShellStr(s);
  TrimNullsLeft(s);
  Writeln(f, s);
  Close(f);
  Writeln('Программа завершила работу')
end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи можно написать программу на любом языке программирования, который поддерживает работу с большими числами. Вот пример решения на Python:

```python def remove_zeros(num): return int(''.join(filter(str.isdigit, num)))

def find_smallest_number(N, M): num1 = str(N) num2 = str(M) smallest_num = min(remove_zeros(num1 + num2), remove_zeros(num2 + num1)) return str(smallest_num)

with open('input.txt', 'r') as file: N, M = map(int, file.readline().split())

smallest_number = find_smallest_number(N, M)

with open('output.txt', 'w') as file: file.write(smallest_number) ```

В этой программе мы считываем числа N и M из файла input.txt, затем объединяем их в разных порядках, удаляем незначащие нули и выбираем наименьшее из полученных чисел. Затем записываем результат в файл output.txt.

Например, если в файле input.txt содержится "102 30", то в файле output.txt будет записано "1023", так как наименьшее число, составленное из цифр 102 и 30, это 1023.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос