Алгоритмы(1657 задач)
Структуры данных(279 задач)
Интерактивные задачи(17 задач)
Другое(54 задач)
Числа Фибоначчи - элементы числовой последовательности, в которой каждое последующее число равно сумме двух предыдущих чисел. Более формально, последовательность чисел Фибоначчи {Fn} задается линейным рекуррентным соотношением:
Рассмотрим систему счисления с двумя цифрами 0 и 1, в которой, в отличие от двоичной системы весами являются не степени двойки 1,2,4,8,16,..., а числа Фибоначчи 1,2,3,5,8,13,.... В этой системе счисления каждое положительное целое число единственным образом представляется в виде строки нулей и единиц, которая начинается с 1 и в которой нет двух единиц, стоящих рядом.
Даны две строки, представляющие натуральные числа A и B. Найти строку, представляющую число A+B.
Даны две строки, представляющие A и B, состоящие из нулей и единиц. Длина каждой из строк не превышает 104.
Выведите строку, представляющую число A + B. Обратите внимание, что она должна начинаться с единицы.
10101
100
100010
Исходные строки '10101' и '100' представляют числа 8 + 3 + 1 = 12 и 3. Ответом является строка '100010', представляющая строку 13 + 2 = 15 = 12 + 3.
Дано целое число x (0 ≤ x ≤ 4·1018).
Вывести количество единиц в двоичной записи числа x.
9
2
Последовательность 011212201220200112... строится так: сначала пишется 0, затем повторяется следующее действие: уже написанную часть приписывают справа с заменой 0 на 1, 1 на 2, 2 на 0, т.е.:
Дано натуральное число k (1 ≤ k ≤ 1018).
Выведите число, которое стоит на k-ом месте в последовательности.
5
1
Даны два массива X и Y одинаковой длины. Записать алгоритм, меняющий последовательно местами значения элементов X[k] и Y[k] для этих таблиц, для k = 1, 2, ..., n, не используя промежуточных переменных.
В первой строке содержится одно число n — количество элементов в каждом из массивов. (1 ≤ n ≤ 100{, }000) Во второй строке через пробел записаны натуральные числа первого массива. В третьей строке через пробел записаны натуральные числа второго массива (Гарантируется, что числа не превышают 106)
В первой строке выведите через пробел все элементы второго массива, а во второй строке — первого.
3
1 2 3
4 5 6
4 5 6
1 2 3
Точки с целочисленными координатами из 1-го квадранта помечаются числами 0,1,2,... слева направо и снизу вверх таким образом, что очередной точке приписывается минимальное число, отсутствующее в вертикали и горизонтали, проходящей через точку. Первой помечается точка (0,0).
То есть допустим мы хотим пометить точку (i, j). Это значит, что все точки, находящиеся ниже и левее относительно нее уже помечены. Тогда рассмотрим набор из чисел в i-ом столбце и j-ом столбце (вместе). Отметкой точки (i, j) будет минимальное неотрицательное число, которое не содержится в этом наборе.
Написать программу, которая
В первой строке даются два числа x и y для первой части задачи (0 ≤ x, y ≤ 109). Во второй строке даются два числа x и c для второй части задачи (0 ≤ x ≤ 109, 0 ≤ c ≤ 2·109)
Выведите два числа. В первой строке выведите ответ на первую часть задачи, а во второй — на вторую.
3 4
5 23
7
18