Если ваше число k находится в третьей базе, вы можете записать его как
k = a0 3^n + a1 3^{n-1} + a2 3^{n-2} + ... + an 3^0
, где a0, a1, ..., an - цифры в представлении базовой тройки.
Чтобы узнать, делится ли число на два, вас интересует, равно ли число по модулю 2 нулю.Хорошо, k mod 2 задается как
k mod 2 = (a0 3^n + a1 3^{n-1} + a2 3^{n-2} + ... + an 3^0) mod 2
= (a0 3^n) mod 2 + (a1 3^{n-1}) mod 2 + ... + an (3^0) mod 2
= (a0 mod 2) (3^n mod 2) + ... + (an mod 2) (3^0 mod 2)
Хитрость здесь в том, что 3 ^ i = 1 (mod 2), поэтому это выражение равно
k mod 2 = (a0 mod 2) + (a1 mod 2) + ... + (an mod 2)
Другими словами, еслиВы суммируете цифры троичного представления и получаете, что это значение делится на два, тогда само число должно делиться на два.Чтобы сделать это еще круче, поскольку единственными троичными цифрами являются 0, 1 и 2, это равносильно тому, чтобы спросить, является ли число 1 в троичном представлении четным!
В более общем случае, есличисло в базе m, то это число делится на m - 1, если сумма цифр делится на m.Вот почему вы можете проверить, делится ли число в базе 10 на 9, суммируя цифры и посмотрев, делится ли это значение на девять.