Есть ответ 👍

Автомат получает на вход трёхзначное десятичное число. По полученному числу строится новое десятичное число по следующим правилам. Вычисляются два числа – сумма старшего и среднего разрядов, а также сумма среднего и младшего разрядов заданного числа.
Полученные два числа записываются друг за другом в порядке невозрастания (без разделителей).

Пример. Исходное число: 455. Поразрядные суммы: 9, 10.
Результат: 109.

Определите, сколько из приведённых ниже чисел может получиться в результате работы автомата.

1717 159 175 142 214 514 814 114

В ответе запишите только количество чисел.

126
401
Посмотреть ответы 2

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

scrubble
4,7(40 оценок)

Максимальная цифра м.б. 9, значит сумма цифр не может быть больше 18

1) Сначала уберем из списка все возрастающие - 1619  316   916

   останется 1616  169   163  1916   116

2) Из этого списка удалим также 1916, т.к 19 не может быть (сумма цифр макс 18)

Останется 1616   169   163   116

3) Рассмотрим, все ли числа могли получится, как результат сложения

 1616 могло получится, если число, например, 888. Значит его оставляем

 169   -  например, 972 или 881. Значит, тоже подходит

 163 - 16 может получиться как сумма 8+8  7+9, но тогда мы не получим 3.       Т.е. это число не подходит - удаляем

  116 - это, например, 560, 651, т.е подходит

Значит осталось 1616, 169,  116

ответ: 3


Program olympic; const   nmax = 50; { максимум 50 команд }   cgold = 7;   csilver = 6;   cbronze = 5; type   cname = string[20];   rc = record       position: byte;       name: cname;       ngold: byte;       nsilver: byte;       nbronze: byte;       ctotal: byte   end;   tm = array[1..nmax, 1..2] of byte; procedure shell(var a: tm; n: integer); { сортировка методом шелла массива a[1..n, 1..2]   по убыванию значений элементов второго столбца. } var   i, j, step, t1, t2: integer; begin   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 a[i, 2] < a[i + step, 2] then               begin                   t1 : = a[i, 1]; t2 : = a[i, 2];                   a[i, 1] : = a[i + 1, 1]; a[i, 2] : = a[i + 1, 2];                   a[i + 1, 1] : = t1; a[i + 1, 2] : = t2               end;               i : = i + step           end       end;       step : = step div 2   end end; { основная программа } var   f: file of rc;   a: tm;   i, n: byte;   s: cname;   t: rc; begin   { организуем ввод данных }   assign(f, 'olympic.in');   rewrite(f);   n : = 0;   repeat       writeln('введите наименование команды или * для окончания ввода');       readln(s);       if s[1] < > '*' then       begin           n : = n + 1;           write('количество медалей: золото, серебро, бронза: ');           readln(t.ngold, t.nsilver, t.nbronze);           t.position : = n;           t.name : = s;           t.ctotal : = t.ngold * cgold + t.nsilver * csilver + t.nbronze * cbronze;           write(f, t);           a[n, 1] : = t.position; a[n, 2] : = t.ctotal       end   until s[1] = '*';   reset(f);   { выполняем сортировку заполненного массива a,       определяя положение записей в файле }   shell(a, n);   { выводим результаты, используя прямой доступ к файлу }   writeln('результаты олимпиады');   for i : = 1 to n do   begin       seek(f, a[i, 1] - 1);       read(f, t);       writeln(i, ': ', t.name, '(', t.ngold, ' зол, ', t.nsilver, ' сер, ',           t.nbronze, ' бронз), очков- ', t.ctotal)   end;   close(f); end. тестовое решение: введите наименование команды или * для окончания ввода веселые медузы количество медалей: золото, серебро, бронза: 4 6 10 введите наименование команды или * для окончания ввода юные сурки количество медалей: золото, серебро, бронза: 2 0 5 введите наименование команды или * для окончания ввода черепашки-ниндзя количество медалей: золото, серебро, бронза: 3 7 11 введите наименование команды или * для окончания ввода * результаты олимпиады 1: черепашки-ниндзя(3 зол, 7 сер, 11 бронз), очков- 118 2: веселые медузы(4 зол, 6 сер, 10 бронз), очков- 114 3: юные сурки(2 зол, 0 сер, 5 бронз), очков- 39

Популярно: Информатика