Заменим буквы Д, Е, К, О, Р на 0, 1, 2, 3, 4 соответственно (для них порядок очевиден — по возрастанию).
Выпишем начало списка, заменив буквы на цифры:
1. 0000
2. 0001
3. 0002
4. 0003
5. 0004
6. 0010
...
Полученная запись есть числа, записанные в пятеричной системе счисления в порядке возрастания. Первое слово, начинающееся с «К» — 2000 переведём его в десятичную: 3 · 52 + 0 · 52 + 0 · 51 + 0 · 50 = 250.
Не забудем о том, что есть слово номер 1, записывающееся как 0, а значит, 250 — число, соответствующее номеру 251.
// PascalABC.NET 3.3, сборка 1540 от 16.09.2017 // Внимание! Если программа не работает, обновите версию!
function bsearch(a:array of integer; x:integer):integer:=a.FindIndex(t->t<x);
begin var P:=ArrRandom(ReadInteger('n='),-50,50).OrderByDescending(t->t).ToArray; P.Println; var x:=ReadInteger('x='); var i:=bsearch(P,x)+1; if i>0 then Writeln('Индекс первого элемента, меньшего x, равен ',i) else Writeln('Все элементы больше х') end.
Пример n= 13 47 36 26 25 17 6 -8 -11 -23 -29 -31 -39 -39 x= -10 Индекс первого элемента, меньшего x, равен 8
Заменим буквы Д, Е, К, О, Р на 0, 1, 2, 3, 4 соответственно (для них порядок очевиден — по возрастанию).
Выпишем начало списка, заменив буквы на цифры:
1. 0000
2. 0001
3. 0002
4. 0003
5. 0004
6. 0010
...
Полученная запись есть числа, записанные в пятеричной системе счисления в порядке возрастания. Первое слово, начинающееся с «К» — 2000 переведём его в десятичную: 3 · 52 + 0 · 52 + 0 · 51 + 0 · 50 = 250.
Не забудем о том, что есть слово номер 1, записывающееся как 0, а значит, 250 — число, соответствующее номеру 251.
ответ: 251.
// Внимание! Если программа не работает, обновите версию!
function bsearch(a:array of integer; x:integer):integer:=a.FindIndex(t->t<x);
begin
var P:=ArrRandom(ReadInteger('n='),-50,50).OrderByDescending(t->t).ToArray;
P.Println;
var x:=ReadInteger('x=');
var i:=bsearch(P,x)+1;
if i>0 then Writeln('Индекс первого элемента, меньшего x, равен ',i)
else Writeln('Все элементы больше х')
end.
Пример
n= 13
47 36 26 25 17 6 -8 -11 -23 -29 -31 -39 -39
x= -10
Индекс первого элемента, меньшего x, равен 8