Все
Математика
Алгебра
Геометрия
Литература
Русский язык
Истоки
Краеведение
Французский язык
Литературное чтение
Астрономия
Природоведение
Родной край
Немецкий язык
Технология
Физика
Английский язык
Обществознание
Химия
Биология
История
О`zbek tili
Окружающий мир
Естествознание
География
Украинский язык
Информатика
Украинская литература
Казахский язык
Физкультура и спорт
Экономика
Музыка
Право
Белорусский язык
МХК
Кубановедение
ОБЖ
Психология
Кыргыз тили
Другие предметы
Показать все предметы
Doge
06.09.2021, 00:25
Информатика

В языке одного племени есть только латинские буквы А, B и C. Поэтому все слова

в этом языке состоят только из этих букв (и при этом любая последовательность букв А, В и С является словом). Некто решил составить словарь семибуквенных слов, в котором все слова идут в алфавитном порядке. Вот первые шесть слов из этого словаря: 1. AAААААА 2. AAААААВ 3. AAААААС 4. AAАААВА 5. AAАААВВ 6. AAАААВС Определите, какое слово находится на 2017 месте. В качестве ответа выведите одну строку, состоящую из семи заглавных латинских букв A, B и C без пробелов между буквами.
Знаешь ответ?

Чтобы оставить ответ, или зарегистрируйтесь.

Ответ или решение 1
Мушканбар
Для начала представим, что А = 0, B = 1, C = 2. Тогда следующий код найдет нужную последовательность букв (но только в зеркальном отражении).
var a:array[1..7] of integer;
i:integer;
begin
i:=0;
while (i<>2016) do //цикл, работающий с итератором
begin
inc(i); //увеличить итератор
inc(a[1]);
a[2]:=a[2]+a[1] div 3; // изменение всех переменных поочередно
a[3]:=a[3]+a[2] div 3;
a[4]:=a[4]+a[3] div 3;
a[5]:=a[5]+a[4] div 3;
a[6]:=a[6]+a[5] div 3;
a[7]:=a[7]+a[6] div 3;
a[1]:=a[1] mod 3;
a[2]:=a[2] mod 3;
a[3]:=a[3] mod 3;
a[4]:=a[4] mod 3;
a[5]:=a[5] mod 3;
a[6]:=a[6] mod 3;
a[7]:=a[7] mod 3;
end;
writeln;
for i:=1 to 7 do write(a[i], ' '); // вывод получится следующим : 0 0 2 2 0 2 2, т. е. символы будут BBABBAA
end.