between | |
---|---|
Goodwin Сообщений: 3539 Откуда: Омск Дата регистрации: 03.05.2006 |
Понадобилась мне функция between,
которая возвращает .t. и для варианта с "переставленными" границами, т.е. between(2, 3, 1) Параметры числовые. Скорость выполнения имеет значение. Может кто подкинет ещё идей? Пока есть такие варианты:
------------------ Что мы знаем о лисе? Ничего. И то не все. (С)Б. Заходер |
Re: between | |
---|---|
PaulWist Сообщений: 14625 Дата регистрации: 01.04.2004 |
так лучше
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) Исправлено 3 раз(а). Последнее : PaulWist, 07.07.11 12:54 |
Re: between | |
---|---|
Goodwin Сообщений: 3539 Откуда: Омск Дата регистрации: 03.05.2006 |
Неа. m.first = 0 m.second = 10 m.current = 1 ------------------ Что мы знаем о лисе? Ничего. И то не все. (С)Б. Заходер |
Re: between | |
---|---|
Goodwin Сообщений: 3539 Откуда: Омск Дата регистрации: 03.05.2006 |
Видимо, ты имел в виду это:
function between7(a, b, c) return abs(b-c)>=a - min(b, c) ------------------ Что мы знаем о лисе? Ничего. И то не все. (С)Б. Заходер |
Re: between | |
---|---|
PaulWist Сообщений: 14625 Дата регистрации: 01.04.2004 |
У меня возвращает .t., а у тебя?
first, second - это границы диапазона current - число которе ищем в диапазоне ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: between | |
---|---|
PaulWist Сообщений: 14625 Дата регистрации: 01.04.2004 |
Нет.
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: between | |
---|---|
Goodwin Сообщений: 3539 Откуда: Омск Дата регистрации: 03.05.2006 |
Я минус потерял.
Вот тут врёт: m.first = 0 m.second = 10 m.current = -1 ------------------ Что мы знаем о лисе? Ничего. И то не все. (С)Б. Заходер |
Re: between | |
---|---|
Влад Колосов Автор Сообщений: 22664 Откуда: Ростов-на-Дону Дата регистрации: 05.05.2005 |
func is_between (aa,bb,cc)
retu between(aa,cc,bb) ------------------ Совершенство - это не тогда, когда нельзя ничего прибавить, а тогда, когда нечего убавить. Исправлено 1 раз(а). Последнее : Влад Колосов, 11.07.11 11:57 |
Re: between | |
---|---|
Goodwin Сообщений: 3539 Откуда: Омск Дата регистрации: 03.05.2006 |
Так оно на прямом порядке не сработает.
Итак, проверяем:
Получаем: Цитата: ------------------ Что мы знаем о лисе? Ничего. И то не все. (С)Б. Заходер |
Re: between | |
---|---|
Влад Колосов Автор Сообщений: 22664 Откуда: Ростов-на-Дону Дата регистрации: 05.05.2005 |
То есть как не работает?
Задача: определить, находится ли А между Б и В, так ведь? Находится ли двойка между тройкой и единицей или между единицей и тройкой?
У меня 2.3 сек. Вариант between(aa, bb, cc) or between(-aa, -bb, -cc) 2.4 сек ------------------ Совершенство - это не тогда, когда нельзя ничего прибавить, а тогда, когда нечего убавить. Исправлено 1 раз(а). Последнее : Влад Колосов, 11.07.11 15:01 |
Re: between | |
---|---|
Goodwin Сообщений: 3539 Откуда: Омск Дата регистрации: 03.05.2006 |
Вот это:
Вот это
У тебя тест некорректный: при ii>30 (т.е. весь цикл) просчитывается только вариант a>c>b ------------------ Что мы знаем о лисе? Ничего. И то не все. (С)Б. Заходер |
Re: between | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Чёт я не понимаю, ведь вариант
------------------ WBR, Igor |
Re: between | |
---|---|
Goodwin Сообщений: 3539 Откуда: Омск Дата регистрации: 03.05.2006 |
Сначала просто искалось побыстрее, а потом спортивный интерес проснулся.
Однако, ничего любопытного обнаружить не удалось: очевидно оказалось оптимальным. ------------------ Что мы знаем о лисе? Ничего. И то не все. (С)Б. Заходер |
Re: between | |
---|---|
Влад Колосов Автор Сообщений: 22664 Откуда: Ростов-на-Дону Дата регистрации: 05.05.2005 |
У меня 3-й вариант самый быстрый!
3,0.6330 4,0.6810 2,0.9660 5,0.9760 7,0.9840 1,1.0430 6,1.0540 8,1.2810 8 - мой вариант ------------------ Совершенство - это не тогда, когда нельзя ничего прибавить, а тогда, когда нечего убавить. |
© 2000-2024 Fox Club  |