Информация об изменениях

Сообщение Re[2]: Рациональные числа от 03.04.2017 21:01

Изменено 03.04.2017 21:14 vdimas

Re[2]: Рациональные числа
Здравствуйте, kov_serg, Вы писали:

_>Фигня какая-то:

_>Если число представимо по степеням двойки p=sum(ai*2^i, i=-inf..inf ) то оно пренадлежит S.

Если оно при этом рациональное, то знаменатель будет степенью двойки после сокращения дроби.


N>>Написать программу, которая принимает рациональное число и определяет, принадлежит ли оно множеству S.

_>И тут засада т.к. разложение то бесконечное и можно с любой степенью точности разложить например 1/3,

Не нужно, т.к. 1/3 сразу же не подошло... если твои рассуждения выше верны. )


_>но вот будет оно принадлежать S или нет из постановки задачи не следует.


Из постановки задачи следует, что существуют такие ei, для которых выполняется система уравнений:
(для только положительных значений, поэтому без модуля)
ex=ey+2ez+1
ex-ey < 1
Но для только положительных ei.

Если взять любые значения, то получим:
ex=ey+2ez+1
|ex-ey| < 1
|2ez+1| < 1

Итого, любое ei должно удовлетворять последнему неравенству.
Оно соблюдается лишь в строгом диапазоне (-1)<e<(0)
Итого:
ey+2ez<-1
ey+2ez>-2
окончательное неравенство выглядит так:
(-2/3)<e<(-1/3)
И задача не имеет решения. ))

В пределе если взять, т.е. заменить на:
(-2/3)<=e<=(-1/3)
То оно и будет тем самым минимальным решением по проверочной формуле: {-2/3, -1/3, 0}.
Re[2]: Рациональные числа
Здравствуйте, kov_serg, Вы писали:

_>Фигня какая-то:

_>Если число представимо по степеням двойки p=sum(ai*2^i, i=-inf..inf ) то оно пренадлежит S.

Если оно при этом рациональное, то знаменатель будет степенью двойки после сокращения дроби.


N>>Написать программу, которая принимает рациональное число и определяет, принадлежит ли оно множеству S.

_>И тут засада т.к. разложение то бесконечное и можно с любой степенью точности разложить например 1/3,

Не нужно, т.к. 1/3 сразу же не подошло... если твои рассуждения выше верны. )


_>но вот будет оно принадлежать S или нет из постановки задачи не следует.


Из постановки задачи следует, что существуют такие ei, для которых выполняется система уравнений:
(для только положительных значений, поэтому без модуля)
ex=ey+2ez+1
ex-ey < 1
Но для только положительных ei оно не выполняется.

Если взять любые значения, то получим:
ex=ey+2ez+1
|ex-ey| < 1
|2ez+1| < 1

Итого, любое ei должно удовлетворять последнему неравенству.
Оно соблюдается лишь в строгом диапазоне (-1)<e<(0)
Итого:
ey+2ez<-1
ey+2ez>-2
окончательное неравенство выглядит так:
(-2/3)<e<(-1/3)
И задача не имеет решения. ))

В пределе если взять, т.е. заменить на:
(-2/3)<=e<=(-1/3)
То оно и будет тем самым минимальным решением по проверочной формуле: {-2/3, -1/3, 0}.