Задания
Версия для печати и копирования в MS Word
Тип Д5 № 27232
i

На вход ал­го­рит­ма подаётся на­ту­раль­ное число N. Ал­го­ритм стро­ит по нему новое число сле­ду­ю­щим об­ра­зом.

1.  Из цифр, об­ра­зу­ю­щих де­ся­тич­ную за­пись N, стро­ят­ся наи­боль­шее и наи­мень­шее воз­мож­ные дву­знач­ные числа (числа не могут на­чи­нать­ся с нуля).

2.  На экран вы­во­дит­ся раз­ность по­лу­чен­ных дву­знач­ных чисел.

При­мер. Дано число N  =  238. Ал­го­ритм ра­бо­та­ет сле­ду­ю­щим об­ра­зом:

1.  Наи­боль­шее дву­знач­ное число из за­дан­ных цифр  — 83, наи­мень­шее  — 23.

2.  На экран вы­во­дит­ся раз­ность 83 − 23  =  60.

Чему равно наи­мень­шее воз­мож­ное трёхзнач­ное число N, в ре­зуль­та­те об­ра­бот­ки ко­то­ро­го на экра­не ав­то­ма­та по­явит­ся число 50?

Спрятать решение

Ре­ше­ние.

За­ме­тим, что чтобы раз­ность по­лу­ча­лась рав­ной 50, в числе долж­на быть цифра, боль­шая 4. По­сколь­ку оба числа долж­ны быть дву­знач­ны­ми, мак­си­маль­ное число долж­но быть боль­ше 59. Числа 60 и 10 по­лу­чить нель­зя, по­сколь­ку если в числе будут од­но­вре­мен­но при­сут­ство­вать цифры 6 и 1, то число 60 не будет мак­си­маль­ным. Зна­чит, мак­си­маль­ным чис­лом долж­но быть 61, а ми­ни­маль­ным  — 11. Сле­до­ва­тель­но, наи­мень­шее воз­мож­ное число  — 116.

 

Ответ: 116.

 

При­ведём ре­ше­ние Сер­гея Донец на языке PascalABC.NET.

uses School;

begin

for var n := 100 to 999 do

begin

var (a,b,c) := n.Digits.Sorted;

var mx := c*10 + b;

var mn := a*10 + b;

if (mx > 9) and (mn > 9) and (mx - mn = 50) then

begin

Print(n);

exit;

end;

end;

end.

Раздел кодификатора ФИПИ: 1.6.3 По­стро­е­ние ал­го­рит­мов и прак­ти­че­ские вы­чис­ле­ния