Регистрация
Войти
Стать экспертом Правила
Информатика

Бесконечная клеточная страница состоит из квадратных клеток. Сторона каждой клетки равна k единиц. Радиус круга равен r единиц. Нужно определить, Как узнать сколько клеток входит в круг (и те, которые входят полностью в круг, и те, которые пересекаются окружностью).k и r - натуральные Вход 1 5Выход88Вход 3 7Выход32Вход 4 5Выход12Написать желательно на Delphi 7, но и на pascal abc сойдёт.

ОТВЕТЫ
var i,k,p,r,m,n: integer;
begin
  write('размер клетки k = ');  readln(k);
  write('радиус круга r = ');  readln(r);
  n:=r div k;
  if ((r mod k)>0) then inc(n);
  m:=0; p:=n-1;
  for i:=1 to n-1 do 
  begin
    if Ceil(sqrt(r*r-k*i*k*i))<=p*k then
    begin
      p:=p-1;
      m:=m+n-i;
    end;  
  end;
  m:=4*n*n-4*m;
  writeln(m);
end.

размер клетки k = 1
радиус круга r = 5
88

размер клетки k = 3
радиус круга r = 7
32

размер клетки k = 4
радиус круга r = 5
12

461
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам