Четверг, 18 Апреля 2024, 17:32

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » Объясните задачу с ВОШ
Объясните задачу с ВОШ
Lord_FДата: Вторник, 18 Октября 2011, 12:35 | Сообщение # 1
Любопытный Игродел
Сейчас нет на сайте
Всем привет! Вот только недавно пришел со школы. Сегодня прошел школьный этап Всероссийской Олимпиады Школьников по информатике.
Я написал 4 из 5 задач (надеюсь правильно). Впрочем они были халявные. (8 класс)

А вот 5-ая задача оказалась сложной.
Посмотрите, может объясните мне, как ее решать...

Вот суть задачи:
Даны координаты центра круга x и y (-100 <= x, y <= 100) и его радиус R (1 <= R <= 100)*
Найти кол-во целых клеток внутри этого круга**.


Оригинальный текст задачи:
Младший брат постоянно отвлекает старшего своими вопросами. Сегодня он придумал очеред-
ную игру. Нарисовав круг с центром в точке с целочисленными координатами (–100 <= m, n <= 100) и ра-
диусом 1 <= R <= 100 на бумаге в клеточку (ширина клеточки принимается за единичный отрезок), он заста-
вил старшего брата посчитать, сколько целых клеточек в этом круге будет находиться. Чтобы самому не
подсчитывать это число, старший брат написал программу на компьютере, которая по заданным значени-
ям m, n и R выводит число целых клеточек в круге. Напишите и Вы такую программу.
Входные данные:
В строке вводятся три целых числа m, n и R, разделенных пробелом.
Выходные данные:
Целое число – количество целых клеточек в круге.



[quote]Ничто не истина, всё дозволено[/quote]

Сообщение отредактировал Lord_F - Вторник, 18 Октября 2011, 13:36
СибирскийДата: Вторник, 18 Октября 2011, 12:57 | Сообщение # 2
Javatar
Сейчас нет на сайте
Координаты не важны - СОИ сказала.

Добавлено (18.10.2011, 12:57)
---------------------------------------------
И да, не тот раздел. Эту задачу стоит решать на жабе, где разномерные массивы, а я так сфейлился... Печаль


nilremДата: Вторник, 18 Октября 2011, 13:00 | Сообщение # 3
Просветленный разум
Сейчас нет на сайте
1. Площадь круга / площадь точки

2. Берем квадрат точек 200 на 200. Проверяем вручную каждую точку на ее вхождение в круг. Кто забыл как: по расстоянию от центра, коим есть радиус, с помощью теоремы Пифагора.

Сибирский,
Язык программирования значения не имеет. Важно наличие моска.


Windmill 2

WindMill 2D Game Engine
СибирскийДата: Вторник, 18 Октября 2011, 13:05 | Сообщение # 4
Javatar
Сейчас нет на сайте
nilrem, так тоже один решил

FaetonДата: Вторник, 18 Октября 2011, 13:16 | Сообщение # 5
частый гость
Сейчас нет на сайте
считаю что центр окружности есть начало отсчета клеток(угол клетки лежит в центре окружности) тогда обсчитываю четверть окружности:
int Summa;
for(int x=1; x<R; x++)
{
Summa=Summa+(int)(pow(R*R-x*x, 0.5));
}
Summa=4*Summa;//узнаю всего количество клеток
что делается:
проецирую с горизонтали на дугу окружности линию и узнаю высоту в клетках и так для каждого ряда клеток


Сообщение отредактировал Faeton - Вторник, 18 Октября 2011, 13:51
Lord_FДата: Вторник, 18 Октября 2011, 13:58 | Сообщение # 6
Любопытный Игродел
Сейчас нет на сайте
Если что, выложил оригинальный текст условия.
Сибирский, Это и так понятно
Faeton, ммм, не понял ничего

На пасе лучше пойму.

Добавлено (18.10.2011, 13:58)
---------------------------------------------
Да, похоже на правду, спасибо)


[quote]Ничто не истина, всё дозволено[/quote]
Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » Объясните задачу с ВОШ
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг