img img img img img img img img img img img img img img img img img img img img img img
Логотип Человек живет, пока думает.
Решайте задачи и живите долго!
Для участия в проекте необходимо
и достаточно зарегистрироваться!
Rss Регистрация || Вход
Вход
Diofant.ru
Картинка
Отражение Отражение Картинка Картинка
отражение
Лента событий: MikeNik добавил решение задачи "Линейка и окружность" (Математика):
Рисунок
Rss

Задачи: Информатика   

Пожалуйста, не пишите нам, что вы не можете решить задачу.
Если вы не можете ее решить, значит вы не можете ее решить :-)
Показывать на странице:
Задачу решили: 4
всего попыток: 15
Задача опубликована: 19.04.13 08:00
Прислал: admin img
Источник: Проект "Эйлер" (http://projecteuler.net)
Вес: 1
сложность: 2 img
баллы: 100
Темы: алгебраimg

Рассмотрим последовательность y0, y1, y2,..., где yi - 32-битные случайные целые числа, т.е. 0≤yi<232, и все значения y равновероятны.

Последовательность xi задается рекурсивно следующим образом:

  • x0 = 0 и
  • xi = xi-1 | yi-1, при i >0. (Символ  | обозначает побитовое ИЛИ)

Ясно, что в конце концов появится такой индекс N для которого xi окажется равным 232-1 при всех i≥N.

Найдите математическое ожидание величины N2.

Результат умножьте на миллион и округлите вниз до целого.

 
Задачу решили: 1
всего попыток: 2
Задача опубликована: 29.04.13 08:00
Прислал: admin img
Источник: Проект "Эйлер" (http://projecteuler.net)
Вес: 1
сложность: 3 img
баллы: 100
Темы: алгебраimg

В этой задаче рассматривается еще одна игра, похожая на ним, где два игрока по очереди берут камни из двух куч. Каждым ходом игрок берет камни из одной кучи в количестве, кратном количеству камней в другой куче. Как обычно, проигрывает тот, кто не может сделать очередной ход, т. е. когда  в одной из куч камней не осталось.

Опишем начальную позицию в виде упорядоченной пары чисел. Например, пара (6, 14) соответствует положению, при котором в меньшей куче 6 камней, а в большей — 14. В этом случае первый игрок может взять из большей кучи 6 или 12 камней.

Выигрышной называется позиция, которая позволяет первому игроку выиграть при верном выборе стратегии. Остальные позиции называются проигрышными. Например, позиции (1,5), (2,6) и (3,12) — выигрышные, поскольку первый игрок может первым же ходом забрать все камни из второй кучи.

Позиции (2,3) и (3,4) — проигрышные, поскольку при любом ходе первого игрока второй участник получает выигрышную позицию.

Обозначим через Z(N) сумму (yi-xi) для всех проигрышных позиций (xi,yi), 0 < xi< yi ≤ N. Можно проверить, что Z(10) = 27 и Z(104) = 24319983959.

Найдите остаток от деления Z(1016) на 710.

 
Задачу решили: 1
всего попыток: 1
Задача опубликована: 06.05.13 08:00
Прислал: admin img
Источник: Проект "Эйлер" (http://projecteuler.net)
Вес: 1
сложность: 2 img
баллы: 100
Темы: алгебраimg

Рассмотрим пару последовательностей an и s n , заданных следующим образом:

a1 = 1, s1 = 1, an = sn-1 mod n, sn = sn-1+ an×n.

(Здесь и далее "x mod y" означает остаток от деления x на y.)

Первые 10 элементов последовательности an:

1,1,0,3,0,3,5,4,1,9.

Первые 10 элементов последовательности sn:

1,3,3,15,15,33,68,100,109,199.

Обозначим через h(N,M) количество таких пар (p,q), для которых

1≤p≤q≤N  и  (sp + sp+1 +… + sq-1 + sq ) mod M = 0

Можно проверить, что h(10,10)=5, а соответствующие пары – (1,6), (4,5), (4,9), (6,9) и (8,8).

h(104,103)= 107796.

Найдите h(1012,106).

 
Задачу решили: 1
всего попыток: 4
Задача опубликована: 20.05.13 08:00
Прислал: admin img
Источник: Проект "Эйлер" (http://projecteuler.net)
Вес: 2
сложность: 3 img
баллы: 100
Темы: алгоритмыimg

Широко известна игра, где один из участников задумывает целое число, а другой пытается его угадать, задавая вопросы. В этой задаче исследуется вариант такой игры, когда задумывают натуральное число из промежутка [1,n], а в качестве вопросов разрешается называть натуральные числа из этого же интервала. При этом стоимость каждого вопроса равна названному числу. Допускаются ответы трех видов:

  1. Ты назвал число меньше задуманного.
  2. Ты угадал!
  3. Ты назвал число больше задуманного.

Требуется определить  задуманное число и при этом минимизировать суммарную стоимость вопросов (в дальнейшем – цена игры). Для данного числа n назовем стратегию оптимальной, если она минимизирует цену игры для самого неудачного задуманного числа.

Например, при n=3 наилучшим первым ходом будет число "2". После этого при любом ответе можно будет точно определить задуманное число, поэтому больше вопросов не потребуется, и цена игры будет равна 2.

Если n=8, мы могли бы выбрать в качестве стратегии "бинарный поиск". Если первым ходом мы назовем число "4", а задуманное число будет больше, чем 4, нам потребуется еще два вопроса. Пусть вторым ходом мы называем число "6". Если задуманное число больше, чем 6, нам потребуется еще один ход, скажем, "7", и цена игры составит 4+6+7=17.

Мы можем существенно улучшить нашу стратегию для n=8, если первым ходом назовем число "5". Если задуманное число больше, чем 5, то вторым ходом мы можем назвать число "7", и этого будет достаточно для нахождения задуманного. Тогда цена игры составит 5+7=12. Если же задуманное число меньше, чем 5, то для его определения достаточно  вторым и третьим ходом назвать "3" и "1", а цена игры составит 5+3+1=9. Поскольку 12 > 9, в худшем случае цена игры при этой стратегии будет равна 12. Получается, что данная стратегия более выгодна, чем предыдущая, и оказывается, что она оптимальна, то есть никакая другая стратегия не может гарантировать для n=8 результат меньший, чем 12.

Пусть C(n) – максимальная цена игры, которая может получиться для оптимальной стратегии в худшем случае. 

Тогда C(1) = 0, C(2) = 1, C(3) = 2 и C(8) = 12.

Можно подсчитать, что  C(100) = 400.

Найдите С(500000).

 
Задачу решили: 0
всего попыток: 0
Задача опубликована: 10.06.13 08:00
Прислал: admin img
Источник: Проект "Эйлер" (http://projecteuler.net)
Вес: 1
сложность: 2 img
баллы: 100

На каждую клетку доски N×N положили по шашке, окрашенной в белый цвет с одной стороны и в черный цвет с другой.

Каждым ходом разрешается перевернуть одну шашку, а вместе с нею N-1 шашек, стоящих  на одной с ней вертикали, и N-1 шашек, стоящих  на одной с ней горизонтали. Таким образом, каждым ходом игрок должен перевернуть 2×N-1 шашку. Игра заканчивается, когда все шашки будут стоять белой стороной вверх. Ниже приведен пример игры для доски 5×5.

eu331.gif  

Несложно проверить, чтобы закончить игру из данной начальной позиции, нужно как минимум 3 хода.

Пусть строки и столбцы перенумерованы целыми числами от 0 до N-1.

Построим на доске N×N начальную конфигурацию CN. Для этого на клетку с координатами x и y положим шашку черной стороной вверх, если (N-1)2≤x2+y2<N2, и белой стороной вверх в противном случае. Конфигурацию C5 мы видели в приведенном примере.

Пусть T(N) – минимальное количество ходов, необходимых для окончания игры из начального положения CN (если это невозможно T(N) = 0).

Ясно , что T(1)=T(2)=1. Мы видели, что T(5)=3. Можно проверить, что T(10)=29, а T(1000)=395253.

Найдите сумму T(k!) для 1≤k≤12.

 
Задачу решили: 9
всего попыток: 14
Задача опубликована: 15.07.13 08:00
Прислал: admin img
Источник: Проект "Эйлер" (http://projecteuler.net)
Вес: 1
сложность: 2 img
класс: 8-10 img
баллы: 100
Темы: алгоритмыimg
Лучшее решение: TALMON (Тальмон Сильвер)

Вагоны поезда обозначены буквами латинского алфавита: A,B,C,D..., и последовательность вагонов в железнодорожном составе можно задать с помощью соответствующей цепочки букв.

В правильно сформированном составе вагоны должны следовать алфавитном порядке. Добиваются этого на сортировочной станции, где установлен большой поворотный круг.

Когда состав въезжает на круг, несколько последних вагонов отцепляют, после чего локомотив с остальными вагонами съезжает с круга. Вагоны, стоящие на круге, поворачивают на 180 градусов и вновь прицепляют в хвост состава, но уже в обратном порядке. Эту операцию повторяют несколько раз, пока не достигают желаемого результата.

В некоторых случаях сформировать состав совсем просто. Например, когда исходный порядок вагонов ADCB, вагоны можно расцепить между A и D, затем развернуть фрагмент DCB, и, наконец, сцепить вагоны в нужном порядке. Результат достигается всего за один шаг, т.е. за один поворот круга на 180 градусов.

Возможно, процесс можно оптимизировать, но машинист пользуется совсем простым алгоритмом. Сначала он стремиться прицепить вагон A следом за паровозом, затем следом за ним вагон B, и так далее.

Машинист выяснил, что для состава из четырех вагонов потребуется не более 5 шагов. Максимальное количество - 5 операций - требуется для двух начальных последовательностей, а именно DACB и DBAC. Последовательности вагонов, требующие наибольшего количества операций для упорядочения, будем называть пессимальными.

Порядок формирования состава для начальной последовательности  DACB показан на рисунке.

eu336.png  

Для состава из шести вагонов машинист составил список пессимальных последовательностей. Список содержал 24 последовательности. Последовательности он расположил в алфавитном порядке, и цепочка DFAECB оказалась на десятом месте от начала.

Представьте, что вам поручили составить список пессимальных последовательностей для составов из 11 вагонов и упорядочить получившийся список в алфавитном порядке.

На каком месте в списке окажется последовательность CIAKBGHFJDE?

Задачу решили: 1
всего попыток: 1
Задача опубликована: 22.07.13 08:00
Прислал: admin img
Источник: Проект "Эйлер" (http://projecteuler.net)
Вес: 1
сложность: 1 img
баллы: 100
Темы: алгебраimg
Конечные последовательности натуральных чисел {a1, a2,..., an} длины n обладают следующими свойствами:
  • a1 = 6
  • При всех 1 ≤ i < n : φ(ai) ≤ φ(ai+1) < ai < ai+1,
где φ(x) – функция Эйлера.
Пусть S(N) — количество таких последовательностей с an ≤ N.
Например, при N=10 существует 5 таких последовательностей: {6}, {6, 8}, {6, 8, 9}, {6, 8, 10} и {6, 10}. Поэтому  S(10) = 5.
Можно проверить, что S(80) = 1195518449 и S(10 000) mod 108 = 60687582, где x mod y означает остаток от деления x на y.
Найдите S(20 000 000) mod 108
Задачу решили: 1
всего попыток: 1
Задача опубликована: 29.07.13 08:00
Прислал: admin img
Источник: Проект "Эйлер" (http://projecteuler.net)
Вес: 1
сложность: 2 img
баллы: 100

Будем вырезать из бумаги в клетку прямоугольники размером w × h клеток, где w и h – натуральные числа. Некоторые из них можно разрезать по клеточкам на две части так, что из этих частей составится новый прямоугольник другого размера.
Например, прямоугольник размером 9 × 4 клетки можно превратить в прямоугольники 18 × 2, 12 × 3 или 6 × 6, как показано на рисунке:

eu338.png
Аналогично, из прямоугольника 9 × 8 можно сделать прямоугольники размером 18 × 4 и 12 × 6 клеток.
Обозначим через F(w, h) количество различных прямоугольников, которые можно получить из прямоугольника размером w × h клеток. При этом прямоугольники с размерами a × b и b × a считаются одинаковыми, а прямоугольники, конгруэнтные исходному, не учитываются.
Тогда получим: F(2,1) = 0, F(2,2) = 1, F(9,4) = 3 и F(9,8) = 2.
Пусть G(N)=Σ F(w, h) для всех 0 < h ≤ w ≤ N.
Можно проверить, что G(10) = 55, G(103) = 971745, а G(105) = 9992617687.
Найдите ΣG(10k), где 1≤k≤12. В качестве ответа укажите 8 младших цифр результата.

Задачу решили: 2
всего попыток: 5
Задача опубликована: 09.09.13 08:00
Прислал: admin img
Источник: Проект "Эйлер" (http://projecteuler.net)
Вес: 1
сложность: 2 img
баллы: 100
Темы: алгебраimg

Пусть  a, b, c – натуральные числа, а функция F(n) определена следующим образом:
F(n) = n - c при n > b
F(n) = F(a + F(a + F(a + F(a + n)))) при n ≤ b. 
Пусть также 
Z(a,b,c)=\sum_{n=a}^{b}F(n)
Тогда, например, при a = 50, b = 2000 и c = 40, получим F(0) = 3240, F(2000) = 2040,
а Z(50, 2000, 40) = 5044935.
Найдите остаток от деления Z(217, 721, 127) на 987654321.

Задачу решили: 5
всего попыток: 6
Задача опубликована: 30.09.13 08:00
Прислал: admin img
Источник: Проект "Эйлер" (http://projecteuler.net)
Вес: 1
сложность: 1 img
класс: 8-10 img
баллы: 100
Темы: алгебраimg

Возьмем натуральное число k, и будем выписывать последовательность рациональных чисел ai = xi/yi следующим образом:
a1 = 1/k
ai = (xi-1+1)/(yi-1-1) при i>1.
При этом все дроби xi/yi будем приводить к несократимому виду.
Мы будем продолжать последовательность до тех пор, пока нам не встретится целое число n.
Определим функцию  f(k)  как f(k) = n.
Например, при k = 20:

1/20 → 2/19 → 3/18 = 1/6 → 2/5 → 3/4 → 4/3 → 5/2 → 6/1 = 6

Поэтому f(20) = 6.

Можно проверить, что f(2) = 2, f(3) = 1 и Σf(k3) = 18764 для простых k, не превышающих 100.

Найдите Σf(k3) для простых k, не превышающих 5×106.

 
Внимание! Если Вы увидите ошибку на нашем сайте, выделите её и нажмите Ctrl+Enter.