spamsink: (Default)
[personal profile] spamsink
Довольно несложная, но на первый взгляд неочевидная задачка: запишите число 100 по основанию полтора, не используя знаков после запятой.

Ну и, ради разнообразия, по основанию 10/7, раз такое дело.

Date: 2021-11-05 10:06 pm (UTC)
sab123: (Default)
From: [personal profile] sab123
А какие, пардон, при таких раскладах у нас разрешениы цифры? 0 и 1? Или еще какие-то?
В-приципе, если база меньше 2, то 0 и 1 должно быть достаточно.

С 0 и 1 довольно очевидно:

x = 1.5
100 - x^11 - x^6 - x - x^-2 - x^-5 - x^-9 - x^-12 - x^-16

Ну и дальше там еще остается положительное число, и может никогда не кончиться.

Так что 100001000001.0100100010010001...

А вот как поступать например с основанием 7/2? Какие там должны быть цифры? 0, 1, 2, 3? Или какие-то дробные, скажем с шагом 3.5/4 : 0, 3.5/4, 2*3.5/4, 3*3.5/4?

Еще я догадался, что с базой меньше 2 и цифрами 0 и 1 будут невозможны две единички подряд. По крайней мере, в "канонической" записи. Зато потенциально дадут более одного представления для некоторых чисел, или скорее некоторые из чисел будут иметь одновременно и точное "неканоническое" представление и каноническое представление в виде бесконечной дроби.
Edited Date: 2021-11-05 10:20 pm (UTC)

Date: 2021-11-06 02:39 am (UTC)
sab123: (Default)
From: [personal profile] sab123
Цифры больше основания - это как-то нечестно. Но таки да, фокус в том, чтобы поделить одну единичку между двумя цифрами:

(16)(4)(2)(0)(1)

81 + 27/2 + 9/2 + 1

Date: 2021-11-06 02:47 am (UTC)
sab123: (Default)
From: [personal profile] sab123
А для 10/7 мне приходит в голову только (49)(0)(0)

Date: 2021-11-05 10:14 pm (UTC)
vak: (Default)
From: [personal profile] vak
Это как, число по дробному основанию?

Date: 2021-11-06 06:41 am (UTC)
From: [personal profile] sassa_nf
Well, when I went away to do it, you didn't.

Date: 2021-11-06 07:18 am (UTC)
From: [personal profile] sassa_nf
01.5=010
11.5=110
21.5=810
31.5=1610


302011.5=10010

Date: 2021-11-06 07:59 am (UTC)
From: [personal profile] sassa_nf
No, this is obviously a demonstration of an answer to an ambiguous question. There is no rigorous definition of what a digit is. I have defined 3-base-1.5 as 16-base-10, etc. Why not?

I can do just as well, to avoid confusion with base 10:
σ1.5=010
π1.5=110
ξ1.5=810
ρ1.5=1610


ρσξσπ1.5=10010

Date: 2021-11-07 08:07 am (UTC)
From: [personal profile] sassa_nf
Why 212... and not 8..., and why 20... and not 3...?
Edited Date: 2021-11-07 08:10 am (UTC)

Date: 2021-11-09 09:58 am (UTC)
From: [personal profile] sassa_nf
like!

Date: 2021-11-06 12:01 am (UTC)
sobriquet9: (Default)
From: [personal profile] sobriquet9
1½0½½01½½01

Date: 2021-11-06 02:41 am (UTC)
sobriquet9: (Default)
From: [personal profile] sobriquet9
Было сказано, что выбор набора цифр - на усмотрение решающего. Я усматриваю три цифры, равномерно отстоящие друг от друга: ноль, половина, целая. Почему база может быть дробная, а цифра - нет?
(reply from suspended user)

Date: 2021-11-08 01:23 am (UTC)
From: [personal profile] dijifi
Разведка донесла что в Oakmont Dadi по 1.39, белорусские по 1.29, но никаких скидок

Date: 2021-11-08 05:36 pm (UTC)
From: [personal profile] dijifi
Они почти одинаковые, но наблюдение проведено в Кэмпбелле.

Date: 2021-11-10 10:05 pm (UTC)
vak: (Default)
From: [personal profile] vak
Пришлось програмулину наваять на Питоне. Представляем число как список цифр, справа налево.
base_numerator, base_denominator = 3, 2

def xprint(num, end='\n'):
    if len(num) > 1:
        xprint(num[1:], end='')
    if len(num) > 0:
        print(num[0], end=end)

def xincrement(num, incr=1):
    if len(num) < 1:
        return [incr]
    digit = num[0] + incr
    if digit < base_numerator:
        return [digit] + num[1:]
    return [digit - base_numerator] + xincrement(num[1:], base_denominator)

x = [0]
for i in range(100):
    x = xincrement(x)
xprint(x)
Результат: 212001201

По основанию 10/7 получается: 748900
Edited Date: 2021-11-10 10:06 pm (UTC)

Date: 2021-11-11 03:55 am (UTC)
vak: (Default)
From: [personal profile] vak
Можно ли их приспособить вместо float16, интересно.
Page generated Apr. 14th, 2026 11:55 pm
Powered by Dreamwidth Studios