nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 26 Mar 2019 20:12



Reply to topic  [ 71 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
Определение чётности числа в уравновешенной троичной системе 
Author Message
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17524
Location: Colorado
Reply with quote
Post 
Mac Buster wrote:
Shaos wrote:
Ну ноль вроде всегда четным считался ;)

Даже в зарубежной литературе его выделяют. Открываем книжку "Функциональное программирование", первую же главу первой части. И что же мы там видим ? :D


Дык там вроде речь про определение знака числа идет, а не про четность ;)

_________________
:eugeek: https://twitter.com/Shaos1973


16 Dec 2005 07:21
Profile WWW
Retired

Joined: 03 Aug 2003 23:37
Posts: 1480
Location: Moscow
Reply with quote
Shaos wrote:
10 февраля 2005 года в форуме NedoPC.org Shaos предложил следующий алгоритим определения четности числа, записанного в уравновешенной троичной системе:

Quote:
1. обнулить переменную четности
2. если младший трит ноль, то идти на 5
3. если переменная 0, то записать в нее +1 и идти на 5
4. если переменная +1, то записать в нее 0 и идти на 5
5. сдвинуть аккумулятор вправо с обнулением старшего трита
6. если аккумулятор не ноль, то идти на 1
После не более чем N итераций (где N - разрядность аккумулятора) в переменной четности будет хранится 0 - если число в аккумуляторе было четное и +1 - если нечетное.


Mac Buster в форуме NedoPC.org предложил считать ноль особым числом, которое не явлется ни четным, ни нечетным.

И раньше Shaos-а (9 февраля 2005 года) предложил свой собственный алгоритм определения чётности чисел с выделением нуля, заключающийся в циклическом подсчёте количества ненулевых разрядов исходного числа до тех пор, пока число выражающее количество не достигнет несократимого значения состоящего из двух троичных разрядов (+/-5). После чего, можно будет судить о том, было ли исходное число чётным (оба разряда ненулевые), нулём (оба разряда нулевые), или нечётным (только один разряд ненулевой).


24 Dec 2005 15:22
Profile
Novelist

Joined: 20 Oct 2005 19:46
Posts: 34
Reply with quote
Quote:
Mac Buster в форуме NedoPC.org предложил считать ноль особым числом, которое не явлется ни четным, ни нечетным, с чем Shaos не согласен, так как 0 выполняет требования четного числа - деление на 2 без остатка.

Алгоритм Shaos для определения четности числа полностью верен, просто перед его выполнением проверять число на равность нулю и выставлять результат равный 0, так как все таки 0 - это "уникальное" число, а то что оно делится на 2 ничего в этом удивительного! Ноль также делится и на 3 без остатка - получается что и нечетное!
Небольшая заметка по поводу нуля.


25 Dec 2005 11:08
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17524
Location: Colorado
Reply with quote
Alexandr wrote:
Алгоритм Shaos для определения четности числа полностью верен, просто перед его выполнением проверять число на равность нулю и выставлять результат равный 0, так как все таки 0 - это "уникальное" число, а то что оно делится на 2 ничего в этом удивительного! Ноль также делится и на 3 без остатка - получается что и нечетное!


Из того что 0 делится на 3 без остатка вовсе не следует что он нечетен! К примеру 6 тоже делится на 3 без остатка, однако это четное число потому что еще и на 2 делится.


25 Dec 2005 23:51
Profile WWW
Retired

Joined: 03 Aug 2003 23:37
Posts: 1480
Location: Moscow
Reply with quote
То, что нуль делится на два без остатка ещё не повод относить его к чётным, т.к. он делится без остатка вообще на любое натуральное число ;) Предлагаю оставить пока эту тему, хотя бы потому, что мой алгоритм легко позволяет обойти этот вопрос (проверкой условия только для нечётных чисел).

Пусть программист самостоятельно решает, какой ответ ему необходимо получить: чётный-нечётный или чётный-нуль-нечётный.


26 Dec 2005 02:35
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17524
Location: Colorado
Reply with quote
Mac Buster wrote:
То, что нуль делится на два без остатка ещё не повод относить его к чётным, т.к. он делится без остатка вообще на любое натуральное число ;)


Ну у четности один единственный признак - и для нуля оно имеется - деление на 2 без остатка


29 Dec 2005 22:31
Profile WWW
Retired

Joined: 03 Aug 2003 23:37
Posts: 1480
Location: Moscow
Reply with quote
Shaos wrote:
Ну у четности один единственный признак - и для нуля оно имеется - деление на 2 без остатка


Дело-то не в признаках чётности, а в самом нуле, который не является числом и не обладает свойствами чисел, среди которых чётность ;) Я не припомню ни одного чётного или нечётного числа, которое делилось бы нацело на что угодно, да ещё было-бы, например, беззнаковым :)

С наступающим Новым Годом! :)


31 Dec 2005 01:39
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17524
Location: Colorado
Reply with quote
Mac Buster wrote:
а в самом нуле, который не является числом и не обладает свойствами чисел, среди которых чётность ;)


Давайте не будем придумывать антинаучные придумки! Нуль такое же число как 1 или 2 - см. Zero


03 Jan 2006 18:58
Profile WWW
Retired

Joined: 03 Aug 2003 23:37
Posts: 1480
Location: Moscow
Reply with quote
Я уже предложил прекратить обсуждение этой темы. Я основываюсь на информации из пятитомной "Энциклопедии элементарной математики" и из "Справочника по элементарной математике" Выгодского.

А ссылаться на википедию совсем не стоит, поскольку именно там-то и содержится множество "ценнейшей" антинаучной информации, т.к. пишется она в основном дворниками-любителями, которые ни за что не отвечают. Даже 12 тысяч таких "специалистов" не смогут написать ни одной достоверной энциклопедической статьи, просто потому, что они дворники.


04 Jan 2006 01:53
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17524
Location: Colorado
Reply with quote
Mac Buster wrote:
А ссылаться на википедию совсем не стоит, поскольку именно там-то и содержится множество "ценнейшей" антинаучной информации, т.к. пишется она в основном дворниками-любителями, которые ни за что не отвечают. Даже 12 тысяч таких "специалистов" не смогут написать ни одной достоверной энциклопедической статьи, просто потому, что они дворники.


Дворников в википедию не пускают ;)


04 Jan 2006 07:33
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17524
Location: Colorado
Reply with quote


На самом деле посылка из той статьи, что "На нуль делить нельзя в любом случае" не совсем верна, т.к. делить на ноль всё-таки можно, но при таком делении мы просто-напросто получим бесконечность - вот и всё. Это если мы будем рассматривать лишь множество неотрицательных целых чисел (пример из статьи про яблоки и их едоков). Если же мы вспомним и про отрицательные целые числа, то тут всплывает неопределенность, т.к. результат деления на ноль в этом случае может быть положительной бесконечностью, если мы стремимся к нулю справа, и в то же время отрицательной бесконечностью, если мы стремимся к нулю слева (естественно если делимое является положительным числом). И вообще - из-за проблем с делением на ноль никак не следует его особенное положение в смысле чётности/нечётности
;-)


19 Feb 2006 20:09
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Я что-то тоже неожиданно споткнулся об "чётность" или как определить флаг четности для троичного числа.

Я вводил его в 4-битном процессоре просто как чётность числа.
Сугубо для того, что иногда довольно удобно в алгоритме - все четные - "туда", все нечетные - "сюда".

Как я понял, здесь уже дискутировали по поводу: четность, как поразрядная сумма всех единиц числа,
но к какому непротиворечивому итогу всё же пришли?

И нужен ли в принципе флаг четности в троичности?

_________________
iLavr


11 Jan 2019 05:09
Profile
Fanat
User avatar

Joined: 18 Nov 2014 10:17
Posts: 50
Location: Отсюда
Reply with quote
Quote:
Если при подсчёте количества ненулевых разрядов числа записанного в уравновешенной троичной системе счисления основанной на ряду степеней нечётного числа (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, если ноль)


11 Jan 2019 11:32
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
JeNNeR wrote:
...тут есть немного рекурсии :) Думается, что далее размышлять можно только над алгоритмом подсчета и интерпретацией результата ...

Мне думается, размышлять надо над тем, нужен ли в таком случае флаг четности как флаг.

Флаг должен выставляться мгновенно, безо всяких рекурсий...

_________________
iLavr


11 Jan 2019 12:55
Profile
Doomed
User avatar

Joined: 21 Mar 2017 13:50
Posts: 412
Location: Spb
Reply with quote
Не знаю на сколько нужен. Но так как троичка, то видимо делать нужно 3 состояния:
+1 - чётное
0 - ноль
-1 - нечётное.


11 Jan 2019 13:04
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 71 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.