Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите с задачами (геометрия)
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи > Задачи на заказ
Avalon
Есть 2 задачи


Внимание:
Для работы с внешними файлами перед readln(…….) в программе вставить:
Assign(input, ‘имя файла из условия’);
Reset (input);
Задача 1. Круговая площадь

Два круга заданы координатами центров в прямоугольной декартовой системе координат и радиусами. Найти площадь их пересечения.

Ограничения: во входных данных целые числа и по модулю не превосходят 1000.
Ввод из файла krug.in. В первой строке находятся шесть вещественных чисел через пробел - координаты центров и радиусы двух кругов: x1, y1, R1, x2, y2, R2.
Вывод на экран. Вывести одно вещественное число с одним знаком после запятой - площадь пересечения кругов.
Пример
Ввод
20 30 15 40 30 30
Вывод
608.4
МОИ ИДЕИ
1. Определить непересекаемость: R1 + R2<= SQRT(SQR(X1-X2)+SQR(Y1-Y2)), тогда площадь=0
2. Определить вложенность R2 в R1:
SQRT(SQR(X1)+SQR(Y1)) + R1 >= SQRT(SQR(X2)+SQR(Y2)) + R2, тогда
S = Pi*sqr(R2)
3. Методом Монте-Карло или по формулам найти площадь пересечения



Задача 3: Квадраты.

В одном квадратном государстве жили квадратные люди. И все остальное в этом государстве было тоже квадратное. Так, Квадратная Рада приняла Квадратный Закон о земле. Согласно этому закону, любой житель государства имел право приобрести землю. Земля продавалась квадратными участками. Длина стороны каждого участка выражалась натуральным числом метров. Приобретая участок земли со стороной а метров, покупатель платил а2 квадриков (местная валюта) и получал одно квадратное свидетельство о праве собственности на этот участок. Один житель этого государства решил вложить все свои N квадриков без остатка в покупку земли. Это, безусловно, можно было сделать, приобретя участки размером 1*1 метр. Но этот житель потребовал от агентства недвижимости минимизации количества покупаемых участков. "Так мне будет легче общаться с Квадратной Налоговой Инспекцией", - сказал он. Сделка состоялась.
Задание:
Напишите программу, которая находит количество свидетельств, полученных жителем.
Входные данные:
Единственная строка входного файла SQUARE.IN содержит целое положительное число N <= 60000 - число квадриков, которое было у жителя.
Выходные данные:
Единственная строка на экране содержит число свидетельств, полученных в результате сделки.
Пример
Ввод
13
Вывод
2
Мои идеи :
1. Если – N является квадратом числа то frac(sqrt(N))=0, тогда ответ=1




Кто хочет помочь (естественно не бескорыстно cool.gif ) стучите в асю 488461471
мисс_граффити
Задачи, судя по всему, олимпиадные?
Michael_Rybak
Да, олимпиадные 100% smile.gif предлагаю закрыть (и вырезать номер аси).
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.