ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1490. Огненный круг

Some hints
Послано Strong wind 26 июн 2009 22:21
1. Use __int64
2. Here is some fragment of my code(and the most significant):
   for(x=0;x<r;x++)
     k+=ceil(sqrt((double)(r-x)*(r+x))); <----- be careful!!
hint
Послано KALO 9 окт 2009 00:26
use binary search and the following relation: x^2+y^2=R^2
Re: hint
Послано ASK 4 мар 2010 16:31
One can use Bresenham's circle algorithm to avoid all the FP calculations, but why bother if the TL is more than enough?

http://en.wikipedia.org/wiki/Midpoint_circle_algorithm
Re: Some hints
Послано LyanA 1 май 2013 14:27
this staff is nice.
that let me deal problem.
looks like sqrt can't handle 100000*100000
also (r-x)(r+x) == r*r - x*x, but first can be handled with sqrt but second not
finally, thanks at all
sorry for bad english