Здравствуйте, nikov, Вы писали:
N>Пусть S — это наименьшее множество рациональных чисел, содержащее число 0 и удовлетворяющее условию: N>* Если числа p и q принадлежат S, и |p-q|<1, то число (p+q+1)/2 также принадлежит S.
Фигня какая-то:
Если число представимо по степеням двойки p=sum(ai*2^i, i=-inf..inf ) то оно пренадлежит S.
q=p+2e+1 где e=[0..1) = sum(ei*2^-i,i=1..inf)
r=(p+q+1)/2 = p+e => p'=p+k*e где k любое целое
Т.е любые числа представимые в виде суммы по степеням двойки принадлежат S
N>Написать программу, которая принимает рациональное число и определяет, принадлежит ли оно множеству S.
И тут засада т.к. разложение то бесконечное и можно с любой степенью точности разложить например 1/3,
но вот будет оно принадлежать S или нет из постановки задачи не следует.