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

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

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

Два отрезка могут не иметь общих точек, могут иметь одну общую точку или бесконечно много общих точек.

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

Положение отрезка на плоскости однозначно определяется координатами его концов. Рассмотрим  три отрезка:

  • отрезок L1 с концами (27, 44) и (12, 32)
  • отрезок L2 с концами (46, 53) и (17, 62)
  • отрезок L3 с концами (46, 70) и (22, 40)

Легко проверить, что отрезки L2 и L3 имеют истинную точку пересечения. Один из концов отрезка L3, а именно точка (22, 40), лежит на отрезке L1, и поэтому точка пересечения L1 и L3 не считается истинной. Отрезки L1 и L2 не имеют общих точек. Таким образом, для трех выбранных отрезков мы найдем только одну истинную точку пересечения.

Будем теперь последовательно строить отрезки и подсчитывать их истинные точки пересечения. Чтобы построить n отрезков, нам нужно 4n координат их концов. Будем генерировать эти числа случайным образом с помощью алгоритма Блюма - Блюма – Шуба:

s0 = 290797
sn+1 = sn × sn (mod 50515093)
tn = sn (mod 200)

Чтобы построить отрезок, мы будем брать четыре последовательных числа. Например, координаты концов первого отрезка будут следующими:
(t1, t2) и (t3, t4)
Четыре первых числа, сгенерированные нашим алгоритмом, будут t1=127, t2=144, t3=112, t4=132, и концы первого отрезка будут иметь координаты (127,144) и (112,132).

Чтобы количество различных истинных точек пересечения превысило одну тысячу, нужно сгенерировать ровно сто отрезков: действительно, первые 99 отрезков будут иметь 992 различных истинных точек пересечения, а первые 100 отрезков – уже 1003.
Сколько необходимо сгенерировать отрезков, чтобы количество различных истинных точек пересечения превысило миллион?

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

Рассмотрим невыпуклый четырехугольник ABCD с диагоналями AC и BD. В каждой вершине входящая в нее диагональ образует два угла со сторонами четырехугольника.
 

Например, в вершине A это будут углы BAC и CAD. Измерим величину этих восьми углов в градусах. Для некоторых четырехугольников полученные восемь чисел окажутся целыми. Будем называть такие четырехугольники невыпуклыми целыми четырехугольниками. Пример невыпуклого целого четырехугольника легко получить, если расположить точки A, B и C в вершинах правильного треугольника, а точку D в его центре. Другой пример получим, задав CAB=85°, BAD=55°, ABD=15°, CBD=50°, ACB=30°, BCD=25°, ADB=110°, BDC=105°.
Подсчитайте, сколько всего существует различных невыпуклых целых четырехугольников, если подобные четырехугольники считаются одинаковыми.

(В расчетах можно считать угол целым, если его величина совпадает с целым числом с точностью до 10-9 градуса.)
 
Внимание! Если Вы увидите ошибку на нашем сайте, выделите её и нажмите Ctrl+Enter.