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

  #1661  
Старый 07.09.2009, 17:58
Fantom3D
Познающий
Регистрация: 23.08.2009
Сообщений: 47
С нами: 8798804

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

Dosia
Спасибо.... но чтобы правильно заработало пришлось довести до такого вида:

Цитата:
var
R:integer;
begin
readln(R);
R:= R + 1 ;
writeln(R*R+(R-1)*(R-1));
end.
Потому что у вас значение радиуса смещалось на единицу. Но решение все равно не правильное(( Проходит только 3 теста из 20 - 15% Помогите, кто нибудь!!!!
 
Ответить с цитированием

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

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

ссылку мне на проверку и все будет. Не понятно что вы имеете в виду под словом смещение, программа работала абсолютно корректно:

R = 1 N =1
R = 2 N =5
R = 3 N = 13
R = 4 N = 25
R = 5 N = 41

Цитата:
Технические условия.
Входные данные: Единственное число - радиус окружности R (R <= 15000).

Выходные данные: Единственное число - искомое количество точек N.
Эти слова напомнили мне олимпиаду по информатике, если так, то возможно данные должны быть считанны из файла и после записаны в него? В любом случае надо посмотреть где вы там проверяете правильность работы программы.

Последний раз редактировалось Dosia; 07.09.2009 в 18:09..
 
Ответить с цитированием

  #1663  
Старый 07.09.2009, 18:16
Fantom3D
Познающий
Регистрация: 23.08.2009
Сообщений: 47
С нами: 8798804

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

Dosia
Да, данные считываются из файла и потом вписываются, таким вот образом:
Код:
var
R:integer;
   f1,f2:text;
begin
     assign(f1,'input.txt');
     assign(f2,'output.txt');
      reset(f1);
      rewrite(f2);
read(f1,R);
R:= R + 1 ;
writeln(f2,R*R+(R-1)*(R-1));
     close(f2);
     close(f1);
end.
По поводу неккоректно:
Цитата:
R = 3 N = 13
Условие:
Цитата:
....Пример ввода
2

Пример вывода
13
Обратите внимание на пример ввода.

Это давалось в задаче, отредактировал первый пост. Извините что сразу не вписал.

А программа должна работать на все числа до 15000, а она уже на 4 выдает неправильно, там вместо 41 должно быть 49. Посчитал вружную, попробуйте сами.


P.S Это не олимпиада, а онлайн контестер, в нем пишется таким образом стандартно.

Последний раз редактировалось Fantom3D; 07.09.2009 в 18:19..
 
Ответить с цитированием

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

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

Понятно, я радиус по количеству точек считал. R = 3 Соответственно будет N = 24?

Последний раз редактировалось Dosia; 07.09.2009 в 18:36..
 
Ответить с цитированием

  #1665  
Старый 07.09.2009, 18:31
Fantom3D
Познающий
Регистрация: 23.08.2009
Сообщений: 47
С нами: 8798804

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

Dosia
Спс. Жду....
 
Ответить с цитированием

  #1666  
Старый 07.09.2009, 18:38
Fantom3D
Познающий
Регистрация: 23.08.2009
Сообщений: 47
С нами: 8798804

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

Цитата:
R = 3 Соответственно будет N = 24?
Хм.... у меня и в моей версии программы и на листке бумаги 25 выходит...
 
Ответить с цитированием

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

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

будет 29, я на листочке даже проверил, а также моя прога мне это сказала. Над ней работали 4 быдлокодера (включая меня) =))))))

Код:
program point;
var
N,R,x,y:integer;
f1,f2:text;
begin
assign(f1,'input.txt');
assign(f2,'output.txt');
reset(f1);
rewrite(f2);
read(f1,R);
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);
close(f2);
close(f1);
readln;
end.
Было съедено 2 шоколадных плитки, при решении задачи уровня начальной школы =)

Последний раз редактировалось Dosia; 07.09.2009 в 20:04..
 
Ответить с цитированием

  #1668  
Старый 07.09.2009, 20:42
Fantom3D
Познающий
Регистрация: 23.08.2009
Сообщений: 47
С нами: 8798804

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

Шоколад полезен, но все же:


Как видите, задачка далеко не начального уровня.



Добейте, пожалуйста.
 
Ответить с цитированием

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

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

я остался 1 время уже позднее, пытаюсь оптимизировать быдлокод, чтобы быстрее работал. Можно попробовать заменить integer на LongInt, так по сути будет правильнее, щас будет вариант оптимизированный для больших чисел.

Последний раз редактировалось Dosia; 07.09.2009 в 21:45..
 
Ответить с цитированием

  #1670  
Старый 07.09.2009, 21:51
Fantom3D
Познающий
Регистрация: 23.08.2009
Сообщений: 47
С нами: 8798804

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

Dosia
Ок. Ждемсь....
 
Ответить с цитированием
Ответ



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



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


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




ANTICHAT ™ © 2001- Antichat Kft.