Дык там вроде речь про определение знака числа идет, а не про четностьMac Buster wrote:Даже в зарубежной литературе его выделяют. Открываем книжку "Функциональное программирование", первую же главу первой части. И что же мы там видим ?Shaos wrote:Ну ноль вроде всегда четным считался
Определение чётности числа в уравновешенной троичной системе
Moderator: haqreu
-
Shaos
- Admin
- Posts: 24379
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
-
Mac Buster
- Retired
- Posts: 1474
- Joined: 03 Aug 2003 22:37
- Location: Moscow
Определение чётности числа в уравновешенной троичной системе
И раньше Shaos-а (9 февраля 2005 года) предложил свой собственный алгоритм определения чётности чисел с выделением нуля, заключающийся в циклическом подсчёте количества ненулевых разрядов исходного числа до тех пор, пока число выражающее количество не достигнет несократимого значения состоящего из двух троичных разрядов (+/-5). После чего, можно будет судить о том, было ли исходное число чётным (оба разряда ненулевые), нулём (оба разряда нулевые), или нечётным (только один разряд ненулевой).Shaos wrote: 10 февраля 2005 года в форуме NedoPC.org Shaos предложил следующий алгоритим определения четности числа, записанного в уравновешенной троичной системе:
Mac Buster в форуме NedoPC.org предложил считать ноль особым числом, которое не явлется ни четным, ни нечетным.1. обнулить переменную четности
2. если младший трит ноль, то идти на 5
3. если переменная 0, то записать в нее +1 и идти на 5
4. если переменная +1, то записать в нее 0 и идти на 5
5. сдвинуть аккумулятор вправо с обнулением старшего трита
6. если аккумулятор не ноль, то идти на 1
После не более чем N итераций (где N - разрядность аккумулятора) в переменной четности будет хранится 0 - если число в аккумуляторе было четное и +1 - если нечетное.
-
Alexandr
- Novelist
- Posts: 34
- Joined: 20 Oct 2005 18:46
Re: Определение четности числа
Алгоритм Shaos для определения четности числа полностью верен, просто перед его выполнением проверять число на равность нулю и выставлять результат равный 0, так как все таки 0 - это "уникальное" число, а то что оно делится на 2 ничего в этом удивительного! Ноль также делится и на 3 без остатка - получается что и нечетное!Mac Buster в форуме NedoPC.org предложил считать ноль особым числом, которое не явлется ни четным, ни нечетным, с чем Shaos не согласен, так как 0 выполняет требования четного числа - деление на 2 без остатка.
Небольшая заметка по поводу нуля.
-
Shaos
- Admin
- Posts: 24379
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Определение четности числа
Из того что 0 делится на 3 без остатка вовсе не следует что он нечетен! К примеру 6 тоже делится на 3 без остатка, однако это четное число потому что еще и на 2 делится.Alexandr wrote: Алгоритм Shaos для определения четности числа полностью верен, просто перед его выполнением проверять число на равность нулю и выставлять результат равный 0, так как все таки 0 - это "уникальное" число, а то что оно делится на 2 ничего в этом удивительного! Ноль также делится и на 3 без остатка - получается что и нечетное!
-
Mac Buster
- Retired
- Posts: 1474
- Joined: 03 Aug 2003 22:37
- Location: Moscow
Re: Определение четности числа
То, что нуль делится на два без остатка ещё не повод относить его к чётным, т.к. он делится без остатка вообще на любое натуральное число
Предлагаю оставить пока эту тему, хотя бы потому, что мой алгоритм легко позволяет обойти этот вопрос (проверкой условия только для нечётных чисел).
Пусть программист самостоятельно решает, какой ответ ему необходимо получить: чётный-нечётный или чётный-нуль-нечётный.
Пусть программист самостоятельно решает, какой ответ ему необходимо получить: чётный-нечётный или чётный-нуль-нечётный.
-
Shaos
- Admin
- Posts: 24379
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Определение четности числа
Ну у четности один единственный признак - и для нуля оно имеется - деление на 2 без остаткаMac Buster wrote: То, что нуль делится на два без остатка ещё не повод относить его к чётным, т.к. он делится без остатка вообще на любое натуральное число
-
Mac Buster
- Retired
- Posts: 1474
- Joined: 03 Aug 2003 22:37
- Location: Moscow
Re: Определение четности числа
Дело-то не в признаках чётности, а в самом нуле, который не является числом и не обладает свойствами чисел, среди которых чётностьShaos wrote: Ну у четности один единственный признак - и для нуля оно имеется - деление на 2 без остатка
С наступающим Новым Годом!
-
Shaos
- Admin
- Posts: 24379
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Определение четности числа
Давайте не будем придумывать антинаучные придумки! Нуль такое же число как 1 или 2 - см. ZeroMac Buster wrote: а в самом нуле, который не является числом и не обладает свойствами чисел, среди которых чётность
-
Mac Buster
- Retired
- Posts: 1474
- Joined: 03 Aug 2003 22:37
- Location: Moscow
Re: Определение четности числа
Я уже предложил прекратить обсуждение этой темы. Я основываюсь на информации из пятитомной "Энциклопедии элементарной математики" и из "Справочника по элементарной математике" Выгодского.
А ссылаться на википедию совсем не стоит, поскольку именно там-то и содержится множество "ценнейшей" антинаучной информации, т.к. пишется она в основном дворниками-любителями, которые ни за что не отвечают. Даже 12 тысяч таких "специалистов" не смогут написать ни одной достоверной энциклопедической статьи, просто потому, что они дворники.
А ссылаться на википедию совсем не стоит, поскольку именно там-то и содержится множество "ценнейшей" антинаучной информации, т.к. пишется она в основном дворниками-любителями, которые ни за что не отвечают. Даже 12 тысяч таких "специалистов" не смогут написать ни одной достоверной энциклопедической статьи, просто потому, что они дворники.
-
Shaos
- Admin
- Posts: 24379
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Определение четности числа
Дворников в википедию не пускаютMac Buster wrote: А ссылаться на википедию совсем не стоит, поскольку именно там-то и содержится множество "ценнейшей" антинаучной информации, т.к. пишется она в основном дворниками-любителями, которые ни за что не отвечают. Даже 12 тысяч таких "специалистов" не смогут написать ни одной достоверной энциклопедической статьи, просто потому, что они дворники.
-
Shaos
- Admin
- Posts: 24379
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Определение четности числа
На самом деле посылка из той статьи, что "На нуль делить нельзя в любом случае" не совсем верна, т.к. делить на ноль всё-таки можно, но при таком делении мы просто-напросто получим бесконечность - вот и всё. Это если мы будем рассматривать лишь множество неотрицательных целых чисел (пример из статьи про яблоки и их едоков). Если же мы вспомним и про отрицательные целые числа, то тут всплывает неопределенность, т.к. результат деления на ноль в этом случае может быть положительной бесконечностью, если мы стремимся к нулю справа, и в то же время отрицательной бесконечностью, если мы стремимся к нулю слева (естественно если делимое является положительным числом). И вообще - из-за проблем с делением на ноль никак не следует его особенное положение в смысле чётности/нечётностиAlexandr wrote:
Небольшая заметка по поводу нуля.
-
Lavr
- Supreme God
- Posts: 16780
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Определение чётности числа в уравновешенной троичной сис
Я что-то тоже неожиданно споткнулся об "чётность" или как определить флаг четности для троичного числа.
Я вводил его в 4-битном процессоре просто как чётность числа.
Сугубо для того, что иногда довольно удобно в алгоритме - все четные - "туда", все нечетные - "сюда".
Как я понял, здесь уже дискутировали по поводу: четность, как поразрядная сумма всех единиц числа,
но к какому непротиворечивому итогу всё же пришли?
И нужен ли в принципе флаг четности в троичности?
Я вводил его в 4-битном процессоре просто как чётность числа.
Сугубо для того, что иногда довольно удобно в алгоритме - все четные - "туда", все нечетные - "сюда".
Как я понял, здесь уже дискутировали по поводу: четность, как поразрядная сумма всех единиц числа,
но к какому непротиворечивому итогу всё же пришли?
И нужен ли в принципе флаг четности в троичности?
iLavr
-
JeNNeR
- Fanat
- Posts: 52
- Joined: 18 Nov 2014 09:17
- Location: Отсюда
Re: Определение чётности числа в уравновешенной троичной сис
С этого начинали. Конечно, тут есть немного рекурсииЕсли при подсчёте количества ненулевых разрядов числа записанного в уравновешенной троичной системе счисления основанной на ряду степеней нечётного числа (1,3,9,27 и т.д.) получается чётное число, то и само исходное число является чётным.
З.Ы. Например: алгоритм Shaos'а
0. Если аккумулятор ноль, то записать -1 в аккумулятор и перейти к 6а.
1. обнулить переменную четности
2. если младший трит ноль, то идти на 5
3. если переменная 0, то записать в нее +1 и идти на 5
4. если переменная +1, то записать в нее 0 и идти на 5
5. сдвинуть аккумулятор вправо с обнулением старшего трита
6. если аккумулятор не ноль, то идти на 1
6а. Выход
После не более чем N итераций (где N - разрядность аккумулятора) в переменной четности будет хранится 0 - если число в аккумуляторе было четное и +1 - если нечетное.
(Или -1, если ноль)
-
Lavr
- Supreme God
- Posts: 16780
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Определение чётности числа в уравновешенной троичной сис
Мне думается, размышлять надо над тем, нужен ли в таком случае флаг четности как флаг.JeNNeR wrote:...тут есть немного рекурсииДумается, что далее размышлять можно только над алгоритмом подсчета и интерпретацией результата ...
Флаг должен выставляться мгновенно, безо всяких рекурсий...
iLavr
-
Lavr
- Supreme God
- Posts: 16780
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Определение чётности числа в уравновешенной троичной сис
А если число многоразрядое?...AlexanderZh wrote:Не знаю на сколько нужен. Но так как троичка, то видимо делать нужно 3 состояния:
+1 - чётное
0 - ноль
-1 - нечётное.
iLavr
