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
Картинка
Отражение Отражение Картинка Картинка
Рисунок
Rss

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

Пожалуйста, не пишите нам, что вы не можете решить задачу.
Если вы не можете ее решить, значит вы не можете ее решить :-)
Показывать на странице:
Задачу решили: 11
всего попыток: 30
Задача опубликована: 01.09.09 00:50
Прислал: admin img
Вес: 1
сложность: 2 img
баллы: 100

Шахматная доска пронумерована "змейкой": нижняя (первая) строка слева-направо числами 1-8, следующая (вторая) справа налево - 9-16, следующая снова слева направа - 17-24 и так далее.

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

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

На рисунке представлен неориентированный граф, содержащий семь вершин и 12 ребер, суммарный вес которых составляет 243.

Тот же граф можно представить следующей матрицей:

  A B C D E F G
A - 16 12 21 - - -
B 16 - - 17 20 - -
C 12 - - 28 - 31 -
D 21 17 28 - 18 19 23
E - 20 - 18 - - 11
F - - 31 19 - - 27
G - - - 23 11 27 -

Однако, некоторые ребра можно "сэкономить", не нарушая связности графа. Граф, в котором достигается максимальная экономия, представлен ниже. Его вес - всего 93, а "экономия" по сравнению с исходным графом составляет 243-93 = 150.

 

Пусть задан граф, содержащий 40 вершин, занумерованных числами от 0 до 39. Вес ребра, соединяющего вершины i и j, выражается формулой
wij =  wji = (69069(i - j)2(i + j))(mod 1000)

Какой максимальной экономии можно добиться, удаляя лишние ребра без потери связности графа?

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

При игре в дартс участники метают три коротких дротика в мишень, разделенную на двадцать равных секторов, которые пронумерованы числами от 1 до 20.

Количество заработанных очков зависит от того, куда дротик воткнулся. Попадание дротика за пределами внешнего красно-зеленого кольца  не приносит очков. Попадание дротика в черный или желтый сектор внутри этого кольца приносит очки в соответствии с номером сектора. Внешнее красно-зеленое кольцо означает удвоение числа сектора, а внутреннее  - утроение. Два концентрических круга в центре мишени образуют "яблочко". Наружный зеленый круг дает 25 очков, а внутренний красный - 50. Он считается двойным (25x2=50).

Существует несколько вариантов игры. В самом распространенном из них игроки в начале игры имеют 301 или 501 очко, а затем последовательно вычитают заработанные очки. Выигрывает тот, у кого останется ровно ноль очков. Однако победа засчитывается только в том случае, если последний бросок, сводящий число очков к нулю, был "двойным", то есть попал во внешнее красно-зеленое кольцо или в красное "яблочко". В противном случае, а также когда после серии из трех бросков получается отрицательная сумма очков или единица, вся серия не засчитывается, и счет остается прежним.

Положение, при котором участник может завершить игру, называют "чекаут" (англ. checkout). Максимальный чекаут возможен при 170 очках: T20 T20 D25 (два попадания с утроением в сектор 20 и одно попадание в красное яблочко).

Есть ровно 11 способов окончить игру при шести очках:

D3   
D1  D2   
S2  D2   
D2  D1   
S4  D1   
S1  S1  D2
S1  T1  D1
S1  S3  D1
D1  D1  D1
D1  S2  D1
S2  S2  D1

Обратите внимание, что серии D1 D2 и D2 D1 считаются различными, поскольку последние броски с удвоением у них различны. Однако комбинации S1 T1 D1 и T1 S1 D1 считаются  одинаковыми. Кроме того, мы не учитываем промахи. D3 считается тем же исходом, что и 0 D3 или 0 0 D3.
Всего существует 42336 различных способов завершить игру. При оставшихся 6 очках можно завершить игру 11 способами, при 8 - 22 способами.
А при каком количестве очков можно завершить игру наибольшим числом способов?

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

Изучим целые положительные решения уравнения
1/x + 1/y =1/n

при различных натуральных n.
Для  n = 4 уравнение будет иметь ровно три различных решения:
1/5 + 1/20 = 1/4
1/6 + 1/12 = 1/4
1/8 + 1/8 = 1/4

Для какого n, не превышающего 15·1015, уравнение будет иметь больше всего решений?
Замечание: Эта задача - существенно усложненная версия задачи 197. Решить ее "в лоб" вряд ли удастся.

Задачу решили: 51
всего попыток: 92
Задача опубликована: 28.06.10 08:00
Прислал: admin img
Источник: Санкт-Петербургский государственный университ...
Вес: 1
сложность: 2 img
баллы: 100
Темы: алгоритмыimg
Лучшее решение: katalama (Иван Максин)

Цепочки цифр (строки) создаются по следующему правилу:
Первая строка состоит из двух цифр "1". Каждая из последующих цепочек создается такими действиями: берется цифра, на единицу большая максимальной цифры, использовавшейся в предыдущей строке. Эта цифра вставляется в начало, в конец и между всеми цифрами предыдущей строки. Вот первые 4 строки, созданные по этому правилу:
(1) 11
(2) 21212
(3) 32313231323
(4) 43424341434243414342434

Таким образом, было построено еще 5 строк и в результате получена строка, содержащая цифры от 1 до 9 и состоящая из 767 цифр. Введите в ответ число состоящие из цифр стоящих на 300-м и 301-м местах от начала.

Задачу решили: 51
всего попыток: 81
Задача опубликована: 05.07.10 08:00
Прислал: admin img
Источник: Санкт-Петербургский государственный университ...
Вес: 1
сложность: 1 img
класс: 8-10 img
баллы: 100
Темы: алгоритмыimg
Лучшее решение: Vkorsukov

Была исходная последовательность символов:
AAABBABB

В конец этой последовательности дописали ее копию, но развернутую зеркально (символы взяли в обратном порядке). Получилась строка:
AAABBABBBBABBAAA

Эту операцию повторили еще три раза, каждый раз дописывая в зеркальном отображении всю последовательность, полученную на предыдущем шаге. В результате получилась последовательность из 128 символов. В получившейся последовательности заменили все тройки идущих подряд символов BAB на ABA. Эту операцию повторяли до тех пор, пока тройки идущих подряд символов BAB не перестали встречаться в последовательности. Сколько букв B осталось в результирующей последовательности?

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

В игру "Погоня" играет четное количество игроков за круглым столом двумя игральными костями.
В начале игры два игрока, сидящие друг напротив друга, получают каждый по кости. Каждую секунду игроки, получившие кость, делают ход. Для этого они одновременно бросают кубик, и если выпадает 1, они передают кость соседу слева, а если выпадет 6 – соседу справа. В остальных случаях кубик остается у игрока до следующего хода. Игра заканчивается, когда оба кубика после очередного хода окажутся у одного игрока. Этот игрок считается проигравшим.
Однажды за стол сели играть 100 игроков. Их перенумеровали подряд по часовой стрелке. Спустя некоторое время кубики оказались у игроков № 33 и № 77.
Каково ожидаемое время до конца игры?
Ответ дайте в миллисекундах, округлив его до целого.

Задачу решили: 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 и округлите до ближайшего целого.

Задачу решили: 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?

 

 

Задачу решили: 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).

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