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
Картинка
Отражение Отражение Картинка Картинка
отражение
Лента событий: Kf_GoldFish добавил комментарий к решению задачи "Дырявый квадрат" (Математика):
Рисунок
Rss

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

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

Рассмотрим метод кодирования черно-белых изображений при помощи квадрадеревьев для квадратного изображения размером 2N×2N  однобитовых пикселей. Сгенерируем кодирующую последовательность из нулей и единиц по следующим правилам:

  • Первый бит относится ко всему квадрату 2N ×2N
  • "0" означает ветвление дерева, и текущий квадрат 2n×2n разделяется на четыре меньших квадрата размером 2n-1×2n-1. Следующие за нулем биты содержат описание этих четырех квадратов, сначала левого верхнего, затем правого верхнего, левого нижнего и правого нижнего (именно в этой последовательности).
  • "10" означает, что данный квадрат содержит только черные пиксели;
  • "11" означает, что данный квадрат содержит только белые пиксели.

В качестве примера рассмотрим изображение размером 4×4, где цветными крестиками обозначены точки ветвления.

eu287.png  

В принципе, изображение может быть закодировано несколькими различными битовыми последовательностями, например, "001010101001011111011010101010" или "0100101111101110". Первая из этих последовательностей содержит 30 битов, а вторая – только 16, и эта длина является минимальной.

Рассмотрим теперь изображения размером 2N×2N, построенные следующим образом:

  • Пиксель с координатами x=0, y=0 соответствует левому нижнему углу изображения,
  • Если  (x-2N-1)2+(y-2N-1)2 ≤ 22N-2 , то соответствующий пиксель черного цвета,
  • Остальные пиксели - белые.

Для изображения данного типа с N=24 найдите кодирующую последовательность минимальной длины. Сколько единиц она содержит?

 

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

Лёва и Петя поспорили, у кого лучше память, и решили проверить. Для этого они обзавелись генератором случайных чисел, настроили его на получение случайных чисел от 1 до 10 и стали соревноваться, кто больше чисел запомнит. По условию игры участник получает очко, если очередное число все еще хранится в его памяти. Побеждает тот, кто набрал больше очков.

По ходу дела выяснилось, что и Лёва, и Петя могут удержать в голове не более пяти разных чисел. Если игрок уже помнит пять чисел, то чтобы запомнить следующее, не содержащееся к этому моменту в его памяти, он вынужден забыть одно из имеющихся. Однако оказалось, что забывание происходит несколько по-разному:

  • Лёва забывает то число, которое не выдавалось генератором наиболее продолжительное время
  • Петя забывает то число, которое первым попало в память.

В начале соревнования память игроков свободна.

Вот пример начала игры:

Тур

Очередное число

Память Лёвы

Очки Лёвы

Память Пети

Очки Пети

1

1

1

0

1

0

2

2

1,2

0

1,2

0

3

4

1,2,4

0

1,2,4

0

4

6

1,2,4,6

0

1,2,4,6

0

5

1

1,2,4,6

1

1,2,4,6

1

6

8

1,2,4,6,8

1

1,2,4,6,8

1

7

10

1,4,6,8,10

1

2,4,6,8,10

1

8

2

1,2,6,8,10

1

2,4,6,8,10

2

9

4

1,2,4,8,10

1

2,4,6,8,10

3

10

1

1,2,4,8,10

2

1,4,6,8,10

3

Обозначим количество очков, которые Лёва и Петя набрали после 50 туров через L и P, соответственно. Найдите математическое ожидание величины (L-P)2, результат умножьте на 108 и округлите до ближайшего целого.

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

В сильно  упрощенной модели белки можно рассматривать как цепочки гидрофобных (H) и полярных (P) элементов, например HHPPHHHPHHPH.

В этой задаче мы будем считать, что ориентация белка существенна, то есть белки HPP и PPH мы будем считать различными, а количество белков из n элементов будет равно 2n.

Гидрофобные элементы притягиваются друг к другу, и белок принимает наиболее энергетически выгодную конфигурацию так, чтобы максимизировать количество связей H-H. 

Поэтому элементы H часто находятся внутри белка, а элементов P больше снаружи. Конечно, настоящие белки имеют трехмерные конфигурации, но мы еще несколько упростим модель, ограничившись двумя измерениями и предполагая, что звенья цепочки занимают места в клетках квадратной решетки.

На рисунке показаны две конфигурации одного белка (связи H-H отмечены красными точками)

eu300.gif        

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

Правая конфигурация имеет девять связей H-H, и это максимальное значение для такой цепочки. Будем называть оптимальными те конфигурации, которые обеспечивают максимальное количество связей H-H для данной цепочки.

77 из 256 восьмиэлементных цепочек в оптимальной конфигурации имеют более 4 связей H-H.

Сколько цепочек, состоящих из 15 элементов, в оптимальной конфигурации будут иметь более 9 связей H-H?

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

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

Проигрывает тот, кому камней не досталось, и кто поэтому не может сделать ход.

Мы рассмотрим наиболее популярную версию игры с тремя кучками камней.

Пусть начальная позиция описывается тройкой чисел (n1,n2,n3), где  n1,n2 и n3 - количество камней в каждой из трех кучек.

  • Позиция называется выигрышной, если первый игрок, правильно выбрав стратегию, может гарантировать свою победу.
  • Позиция называется проигрышной, если первый игрок при правильной игре второго всегда проигрывает.

Например, позиция (0,n,n) – проигрышная для любых n, ибо второй игрок всегда может выравнивать количество камней в двух оставшихся кучках, пока в них что-то остается. По этой же причине позиция (1,2,3) – тоже проигрышная, ибо второй игрок своим ходом всегда может создать позицию вида (0,n,n), например:

Первый игрок: (1,2,1)         Второй игрок: (1,0,1)

Первый игрок: (0,0,1)         Второй игрок: (0,0,0) – победа.

Подсчитайте, сколько существует проигрышных позиций вида (n,2n,3n), где n – натуральное число, не превышающее 1012.

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

Рассмотрим игру для двух участников. Игровое поле представляет собой полоску из n клеток белого цвета. Ходы совершают по очереди. Каждым ходом игрок должен закрасить любые две соседние белые клетки. Проигрывает тот, кто не может сделать ход.

  • При n=1 первый игрок автоматически проигрывает, поскольку не может сделать ни одного хода.
  • При n=2 есть только один ход, который автоматически ведет к победе.
  • При n=3 первый игрок может выбрать один из двух различных ходов, и оба они ведут к немедленной победе.
  • При n=4 есть три варианта хода. Среди них есть один выигрышный ход, когда игрок закрашивает две средние клетки.
  • При n=5 есть четыре варианта хода (они показаны на рисунке красным цветом), но все они ведут к поражению: второй игрок (показан синим цветом) всегда может выиграть.

eu306.png

Таким образом, первые три значения n, при которых первый игрок выигрывает – это 2,3 и 4, а первые два проигрышных значения – это 1 и 5. Третье проигрышное значение n=9, десятое: n=43.

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

 

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

При изготовлении микросхемы, состоящей из n транзисторов, образовалось k микродефектов. Дефекты распределены случайным образом, каждый дефект оказался в одном из транзисторов, и в любом транзисторе могло оказаться любое количество дефектов. Если в каком-либо транзисторе оказалось три или более дефектов, такой транзистор не работает, и вся микросхема идет в брак.

Обозначим через E(n,k) математическое ожидание количества транзисторов, содержащих дефекты, в годной микросхеме. Например, E(13,3)≈2.78571...

Найдите E(1000000,20000), умножьте на 100000, а результат округлите до целого.

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

 

Английский математик Джон Хортон Конвей изобрел множество математических развлечений, доставляющих не только удовольствие, но и пищу для серьезных размышлений. Одно из его изобретений – язык программирования FRACTRAN, о котором пойдет речь в данной задаче.

Память данных виртуальной машины языка FRACTRAN содержит одно единственное целое число, а программа представляет собой упорядоченную последовательность рациональных дробей. На каждом шаге выполнения программы машина просматривает эти дроби одну за другой слева направо и умножает каждую из них на число из памяти, пока произведение не окажется целым. Полученное целое число записывают в память вместо предыдущего. 

Вот, например, FRACTRAN-программа, предложенная Конвеем для получения последовательности простых чисел:

17/91, 78/85, 19/51, 23/38, 29/33, 77/29, 95/23, 77/19, 1/17, 11/13, 13/11, 15/2, 1/7, 55/1.

Записав в память исходное значение 2, получим в памяти ряд чисел в следующей последовательности:

15, 825, 725, 1925, 2275, 425, 390, 330, 290, 770, 910, 170, 156, 132, 116, 308, 364, 68, 4, 30, ..., 136, 8, 60, ..., 544, 32, 240, ...

Оказывается, степени двойки в полученной последовательности встречаются только с простыми показателями: 22, 23, 25, ..., и можно проверить, что данная последовательность будет содержать в порядке возрастания все степени двух с простыми показателями.

Заметим, что для получения 22 из исходного числа 2 потребовалось 19 шагов программы, и при этом три раза происходило умножение на дробь 13/11.

А сколько раз придется выполнить умножение на 13/11 при переходе от исходного числа 2 к 2111119?

 

 

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

 

Рассмотрим построение последовательности графов Серпинского:

  • Граф Серпинского первого порядка S1 представляет собой равносторонний треугольник (три вершины и три соединяющих их ребра).
  • Граф Серпинского  Sn+1 порядка n+1 представляет собой объединение трех графов Sn, имеющих попарно общую вершину, как показано на рисунке:

 eu312-1.gif

Пусть C(n) — количество циклов, проходящих через каждую вершину  Sn ровно один раз. Например, C(3)=8, поскольку граф  S3 позволяет построить ровно 8 подобных циклов, как показано на рисунке: 

eu312-2.gif

Легко проверить, что 

C(1) = C(2) = 1

C(5) = 71328803586048

C(10 000) mod 108 = 37652224

C(10 000) mod 710 = 221100305

(Здесь a mod b означает остаток от деления a на b.)

Найдите C(C(C(10 000))) mod 710.

 

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