Список вопросов
Как зайти в Даркнет?!
25th January, 01:11
4
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
891
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
946
0
Очень долго работает Update запрос Oracle
27th January, 09:58
912
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
936
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1723
0
период по дням
25th October, 10:44
3954
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4380
0
Помогите пожалуйста решить задачи
24th November, 23:53
6084
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4394
0
Метода Крамера С++
23rd October, 11:55
4308
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2598
0
Решение задачи Числовая последовательность с Acmp
Без пояснения   Просмотров: 1279
Дима недавно поступил на работу в научно-исследовательский институт «Числовые Последовательности». Как следует из названия этого института, основным направлением его работы является проведение различных исследований в области числовых последовательностей.
Недавно руководитель отдела, где начал работать Дима, при решении одной из проблем столкнулся с весьма интересной последовательностью чисел a1, a2, …, an, …, которая определяется следующим образом: a1 = 0 и каждое последующее число ai (1 < i ≤ n) определяется как наименьшее большее натуральное число, десятичная запись которого не содержит цифр, представленных в десятичной записи ai-1.
Требуется написать программу, которая по значению числа n вычисляет величину an.
Недавно руководитель отдела, где начал работать Дима, при решении одной из проблем столкнулся с весьма интересной последовательностью чисел a1, a2, …, an, …, которая определяется следующим образом: a1 = 0 и каждое последующее число ai (1 < i ≤ n) определяется как наименьшее большее натуральное число, десятичная запись которого не содержит цифр, представленных в десятичной записи ai-1.
Требуется написать программу, которая по значению числа n вычисляет величину an.
Код
#include using namespace std; int main() { int n, sz = 1; bool a0 = 0, a1 = 1; cin >> n; vector s; for(int i = 0; i <= 9; ++i) s.push_back(to_string(i)); while(s.size() < n){ string t = s[s.size() - 1]; if(t[0] == '9'){ ++sz; if(t[t.size() - 1] != '1'){ t.clear(); t += '1'; string next = "2"; if(a0 == 0){ t.insert(t.size(), sz - 1, '0'); next.insert(next.size(), sz - 1, '2'); } else{ t.insert(t.size(), sz - 1, '1'); next.insert(next.size(), sz - 1, '0'); } s.push_back(t); s.push_back(next); } else{ string next = "2"; next.insert(next.size(), sz - 1, '0'); s.push_back(next); a0 = !a0; a1 = !a1; } } else{ string res = ""; res+=t[0] + 1; if(a0 == 0){ res.insert(res.size(), sz - 1, '0'); } else{ res.insert(res.size(), sz - 1, '1'); } a0 = !a0; a1 = !a1; s.push_back(res); } } cout << s[n - 1]; //1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 22, 30, 41, 50, 61, 70, 81, 90, 111, 200, 311, 400, 511, 600, 711, 800, 911, 1000, 2222, 3000, return 0; }
 
 
 
 
 
Автор: Администратор
Автор: Администратор
Комментарии
info@mycod.net  
Карта сайта  
Правообладателям
Заявка на расчет
×
или напишите нам прямо сейчас: