Markus_13
{c0Der}
offline
Опыт:
886Активность: |
Нужна помощь в оптимизации
Возможно ли увеличить быстродействие этого кода:
Код:
Отредактировано Markus_13, 03.06.2011 в 09:12. |
02.06.2011, 15:30 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nekit1234007
offline
Опыт:
11,916Активность: |
Если вы хотите работать с кодом и хотите чтобы вам помогали, научитесь работать с ним правильно. Можно воспользоваться этим. |
02.06.2011, 17:26 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
попробуйте не сотни десятки и прочую ересь и бинарную итерацию.
вам нужно 1 -2 4 -8 16 -32 64 -128 256 -512 и 1024 чтобы охватить в минимум пробежек и минимум абилок поставленную задачу.
чтобы выдать 513 вы выдаете 1024 забираете 512 и даете 1 сверху |
02.06.2011, 20:51 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Markus_13
{c0Der}
offline
Опыт:
886Активность: |
Цитата:
Конструкция вида "if-else if-endif" там нигде не нужна, ты просто не разобрался в алгоритме, посмотри внимательней... Цитата:
В моей функции это будет выполняться на 2 действия больше: +500 +10 +1 +1 +1; но мне кажется что мой алгоритм сам по себе быстрее, т.к. в нем меньше проверок условий... Цитата:
Можно пример алгоритма генерирующего числа подобным образом? |
|||
03.06.2011, 09:29 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J64_
offline
Опыт:
4,724Активность: |
Markus_13:
если это побитовое(какбы) разложение, то одним глазком позырь на мой код в карте для спеллконтеста. самореклама ^^ |
03.06.2011, 14:24 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|