• Бесконечная клеточная страница состоит из квадратных клеток. Сторона каждой клетки равна k единиц. Радиус круга равен r единиц. Нужно определить, сколько клеток входит в круг (и те, которые входят полностью в круг, и те, которые пересекаются окружностью).

    k и r - натуральные
    Вход 1 5 Выход 88
    Вход 3 7 Выход 32
    Вход 4 5 Выход 12
    Написать желательно на Delphi 7, но и на pascal abc сойдёт.

Ответы 6

  • Посмотрите тесты в условии задачи.
  • тут все верно
  • Возможно проблема в том, что я вместо ceil использую trunc, а после прибавляю 1. Мне нельзя использовать дополнительные библиотеки.
  • ну да
    • Автор:

      donavan
    • 5 лет назад
    • 0
  • Чувствую себя идиотом. При целом значении у меня +1, а этого не нужно. Спасибо, что подтолкнули на решение
    • Автор:

      zeke
    • 5 лет назад
    • 0
  • 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 = 588размер клетки k = 3радиус круга r = 732размер клетки k = 4радиус круга r = 512
    • Автор:

      general88
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years