Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2012, 17:00   #11
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
for 0.4 seconds
Дак что за кофе не успеем?
Цитата:
по поводу второго замечания.
теоретически, то, что Вы говорите, практически - не подверждается.
Ага-ага, никогда такой феномен не замечал.. Но чем комп не шутит? Уж лучше перестароховаться
Цитата:
вот, прошу оценить:
А вот за это, огроменное спасибо! Щас еще помереем.

А можно как-нить это же на старом добром паскальчике? А то Lazarus и Free ругаются (уж простите за наглость...)

Слегка дополню :
Цитата:
p.s. если нужно найти все простые числа, то предложенный метод перебора использовать крайне неэффективно и непродуктивно!!!
давно уже известны нормальные эффективные способы поиска множества простых чисел.
Ага-ага. Решето Сундарама, Эратосфена, Аткина и другие алгоритмы.

Цитата:
функция sqrt(x) будет вызываться многократно (я проверил, это так!)
А можно чуть-чуть по подробнее? Отладчик(режим пошагового просмотра) такую информацию не выдаёт. Debbuger'ом что ли?

Последний раз редактировалось Poma][a; 26.11.2012 в 19:56.
Poma][a вне форума Ответить с цитированием
Старый 26.11.2012, 20:16   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Цитата:
функция sqrt(x) будет вызываться многократно (я проверил, это так!)
А можно чуть-чуть по подробнее? Отладчик(режим пошагового просмотра) такую информацию не выдаёт. Debbuger'ом что ли?
всё намного проще! написал примерно так:
Код:
var i,x, CountFunctionCall : longint;

function MySqrt(x : longint):extended;
begin
   Inc(CountFunctionCall);
   MySqrt := sqrt(x);
end;

begin
   CountFunctionCall := 0;
   i:=1;
   x:=25;
   while i<=MySqrt(x) do begin
      if x mod i = 0 then Write(i,' '); 
      inc(i,2)
   end;
   WriteLn('Function called ', CountFunctionCall ,' times.');
   Readln
end;
Цитата:
А можно как-нить это же на старом добром паскальчике? А то Lazarus и Free ругаются (уж простите за наглость...)
Оба, говорите, ругаются? Lazarus - это просто оболочка над FreePascal.

А вообще странно. на что ругаются? на GetTickCount() ?! или на что? Вроде бы там ничего такого нет..

Цитата:
Ага-ага. Решето Сундарама, Эратосфена, Аткина и другие алгоритмы.
Точно так!


p.s. что-то мы совсем в оффтоп ушли! Не нравится мне это!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.11.2012, 20:16   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Цитата:
функция sqrt(x) будет вызываться многократно (я проверил, это так!)
А можно чуть-чуть по подробнее? Отладчик(режим пошагового просмотра) такую информацию не выдаёт. Debbuger'ом что ли?
всё намного проще! написал примерно так:
Код:
var i,x, CountFunctionCall : longint;

function MySqrt(x : longint):extended;
begin
   Inc(CountFunctionCall);
   MySqrt := sqrt(x);
end;

begin
   CountFunctionCall := 0;
   i:=1;
   x:=25;
   while i<=MySqrt(x) do begin
      if x mod i = 0 then Write(i,' '); 
      inc(i,2)
   end;
   WriteLn('Function called ', CountFunctionCall ,' times.');
   Readln
end;
Цитата:
А можно как-нить это же на старом добром паскальчике? А то Lazarus и Free ругаются (уж простите за наглость...)
Оба, говорите, ругаются? Lazarus - это просто оболочка над FreePascal.

А вообще странно. на что ругаются? на GetTickCount() ?! или на что? Вроде бы там ничего такого нет..

Цитата:
Ага-ага. Решето Сундарама, Эратосфена, Аткина и другие алгоритмы.
Точно так!


p.s. что-то мы совсем в оффтоп ушли! Не нравится мне это!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.11.2012, 20:33   #14
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
написал примерно так:
Всё гениальное просто

Free - не знает uses Windows, если удалить то, ругается на GetTickCount().
Lazarus просит какой-то unit.
Цитата:
p.s. что-то мы совсем в оффтоп ушли! Не нравится мне это!
Всё-всё. Удаляюсь. А весь сыр-бор ради просвещения ТС (и не только)
Poma][a вне форума Ответить с цитированием
Старый 07.12.2012, 21:02   #15
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Так-с... Раз ТС ушел в запой, а новую темку мне клёпать лень. То займусь-ка я некропостингом и оффтопом. (Прошу простить, но выходя из трамвая я вдруг неожиданно вспомнил, что у Сержа HighBound := trunc(sqrt(x))+1; и понял что иногда программка может работать не очень верно. Например : число 56. Его корень : 7,483314773547883, отбросим не целую часть, прибавим 1. Допустим мы выводи делители числа n. Получим
Код:
1 56 
2 28
...
7 8
8 7
, а это не есть хорошо)

Вспомнил что обсуждалось здесь и что говорил TinMan в темке( тыц) и выставил на суд :
Код:
1) sq := Trunc (Sqrt(n)) // by Poma][a (контр пример 4->1,(9)->1)
2) sq := Trunc (Sqrt(n)+1) // by Serge and TinMan (контр пример см.выше)
3) sq := Trunc (Sqrt(n)) + 0.0000001 // by Аватар and TinMan (контр пример не нашел)
4) sq := Round (Sqrt(n)) // by TinMan (контр пример не нашел)
Если у Вас есть какие-то идеи, пожелания, мысли.. с радость приму их.
P.S. Некоторые контр пример на практике почти не встречаются, но вдруг случится что-нить и придется вспомнить..
P.P.S. Дико извиняюсь, что залез в чужую тему, да еще прошлого месяца и продолжаю оффтопить, но как-то просить Вас бегать по ссылкам тоже не хорошо...
Poma][a вне форума Ответить с цитированием
Старый 07.12.2012, 21:55   #16
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Например : число 56. Его корень : 7,483314773547883
Это ты тоже выходя из трамвая вычислил?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 07.12.2012, 21:58   #17
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Это ты тоже выходя из трамвая вычислил?

Не, я ток нашел число 56. И понял что корень ~7.5
Poma][a вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с Файлами (паскаль) Anny_Apple Помощь студентам 1 29.05.2011 14:05
Работа с файлами (паскаль) street_spirit Помощь студентам 2 24.11.2010 15:40
Работа с файлами (паскаль) patisson74 Помощь студентам 1 15.04.2010 01:18
работа с файлами в паскаль... Оксаночка:) Помощь студентам 1 19.06.2009 09:59
работа с файлами(паскаль) WF7 Паскаль, Turbo Pascal, PascalABC.NET 2 03.06.2009 16:02