Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 28, 2017 17:06:28

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2842
Репутация: +  186  -
Профиль   Отправить e-mail  

Помогите с задачей. Угадайка чисел от 1 до 1000

> это костыль - количество шагов у тебя может быть больше 10

В некоторых случаях может и привысить 10, но сходимость будет для любого числа из указанного диапазона.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#2 Окт. 29, 2017 01:56:50

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Помогите с задачей. Угадайка чисел от 1 до 1000

py.user.next
От медианы можно взять любое из соседних целых чисел (они равноудалены от неё).
это стандартный алгоритм для АЦП последовательног приближения - на шкале в 2**N за N шагов получить значение с точностью 1 МЗР. я уж не помню всю теорию но там в основе ряд N,N/2,N/4…
 >>> def f(n):
	out = []
	while n:
		out.append(n)
		n >>= 1
	return out
>>> N = f(2**10)
>>> N
[1024, 512, 256, 128, 64, 32, 16, 8, 4, 2, 1]
>>> N[0] - sum(N[1:])
1 #ряд сходится равномерно, ошибка 1 МЗР
>>> N = f(1000)
>>> N
[1000, 500, 250, 125, 62, 31, 15, 7, 3, 1]
>>> N[0] - sum(N[1:])
6 #ряд не сходится равномерно, ошибка 6 МЗР
>>> N = f(2**10 -1)
>>> N
[1023, 511, 255, 127, 63, 31, 15, 7, 3, 1]
>>> N[0] - sum(N[1:])
10 #ошибка 10 МЗР
>>> 

Отредактировано vic57 (Окт. 29, 2017 02:02:21)

Офлайн

#3 Окт. 29, 2017 03:17:54

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Помогите с задачей. Угадайка чисел от 1 до 1000

py.user.next
Так в питоне-то дробные числа есть, это в АЦП всё на целых числах.
в машине есть байты и биты, питон - это абстракция

Офлайн

#4 Окт. 29, 2017 03:50:47

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10014
Репутация: +  857  -
Профиль   Отправить e-mail  

Помогите с задачей. Угадайка чисел от 1 до 1000

vic57
на шкале в 2**N за N шагов получить значение с точностью 1 МЗР
Так в питоне-то дробные числа есть, это в АЦП всё на целых числах.
wiki. бинарный поиск
wiki. binary search (полнее инфа)



Отредактировано py.user.next (Окт. 29, 2017 03:51:56)

Офлайн

#5 Окт. 29, 2017 03:53:18

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10014
Репутация: +  857  -
Профиль   Отправить e-mail  

Помогите с задачей. Угадайка чисел от 1 до 1000

vic57
в машине есть байты и биты
Это целые числа.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version