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