Объясните задачу с ВОШ
|
|
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]
|
|
| |