ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 07.09.2009, 22:22
Dosia
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
С нами: 8912059

Репутация: 249
По умолчанию

Не получается ниче =(

Что то типо того должно быть:

Код:
program point;
var
N,R,PRE,x,y:LongInt;
f1,f2:text;
begin
assign(f1,'input.txt');
assign(f2,'output.txt');
reset(f1);
rewrite(f2);
{read(f1,R);}
readln(r);
if R>7 then begin
PRE:=(R*2-4)*(R*2-4);
for x :=-r to -r+4 do begin
for y :=-r to -r+2 do begin
if (x*x+y*y) <= r*r then N:=N+1;
end;
end;
writeln(f2,N*4+1);
writeln('pre = ',pre);
writeln('N= ',N);
writeln(PRE+N*4+4);
end
else
begin
for x :=-r to 0 do begin
for y :=-r to -1 do begin
if (x*x+y*y) <= r*r then N:=N+1;
end;
end;
writeln(f2,N*4+1);
writeln('N= ',N*4+1);
end;

close(f2);
close(f1);
readln;
end.
Смысл в том, чтобы для больших чисел просчитать квадрат который точно можно вычислить, а остатки уже считать в цикле.
 
Ответить с цитированием
 



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости. Обсуждения. 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход