петък, 25 март 2011 г.

Дискусия за 16-битовите лами

В един форум попаднах на тази дискусия (взета от друг форум) във връзка с добрия стар виц за 16-битовата ламя. Ако не знаете вица - самата дискусия започва с него:

Добрият юнак отишъл да се бие с лошата ламя. 
Замахнал с меча и й отсякъл главата. 
На нейното място поникнали две нови глави. 
Отсякъл и тях – на тяхно място поникнали четири. 
Пак ги отсякъл – поникнали осем. 
И тях отрязал – пораснали шестнадесет. 
Сякал юнакът, сякал… а когато отсякал 65536-тата глава ламята издъхнала, защото била 16-битова. 

============================================= 
Re: 
..по-скоро 65535-тата глава. 
============================================= 
Re: 
Не съм съгласен…очевидно имаме bitwise rotation (1, 2, 4, 8, 16…). 
В този случай ламята ще издъхне след 32768-та глава. 
============================================= 
Re: 
Абе по-скоро ще бъде 
… 
След като отсякъл (1 + 2 + 4 + … + 65536)-та глаа ламята дала фира. 
============================================= 
Re: 
Е юнака е почнал да брои от ‘1′ не от ‘0′ 
============================================= 
Re: 
Аз съм ок – юнака е почнал да брои от 1. 
Предполагам че той, обаче, все пак би предпочел в тоя bitset да съществува и null елемент (0), за да може в един момент да се окаже с 0 глави 
Ако ламята е била 16 битова, и ние (и най-вече юнака) държим да има репресентация на 0 глави, то тогава може да има 65536 глави 
================================================= 
Re: 
Някой да знае какъв е точно алгоритъма за порастване на нови глави? ) 
================================================= 
Re: 
Хмм… final result is: 

CODE 
__int64 sum = 0; 
WORD a = 1; 
DWORD last_head = 0; 

while (a) 

last_head = a; 
sum += a; 
a = a < < 1; 


Което ни дава сума: 
sum = 65535 
last_head = 32768 
============================================= 
Re: 
Абе според мене си е баш 2^16 – 1 = 65535 

1 + 2 + … + 2^15 = 2^16 – 1; 

след 16-тото рязане (дето е отсякъл 2^15 глави) те са станали 2^16 = 65536 и ламята е умряла. 
================================================= 
Re: 
Това е ламя, не хидра !!! 
================================================= 
Re: 
Абе според гръцката митология Ламята има 1 глава, а точно Хидрата много. 
================================================= 
Re: 
Ако ламята е била мужка. 65536 глаи е верен отговор!!! 
================================================= 
Re: 
RTFM ! 
================================================= 
Re: 
Ламя-неламя, ама ако броиш сумата от отрязаните глави последната версия на ламята ще е с 32768 глави, а ако не я броиш – 65536. 
В случая на Ивановата ламя, пича е отсякъл общо 65536 глави и тогава е умряля, което значи, че Иванов предполага, че ламята си брои отрязаните глави, което не е задължително. 
PS:Не се знае и за останалите глави какъв е алгоритъма ) 
================================================= 
Re: 
ха сега сменете функцията за никнене на глави от 

CODE 
f(n)=2*f(n-1) 
на 
f’(n)=f’(n-1) + f’(n-2) 

Тогава f’(n)/f’(n-1) ще клони към 1.61, за n -> +безкрайност. 
Стигнахме до задачата за слатното сечение. 
================================================= 
Re: 
Предлагам да вдигнем битовете на 32 
че да има повече мегдан за дискусии. С тея 16 бита почваме да се повтаряме. 
================================================= 
Re: 
Абе живеем във 21 век. Дайте да минем на 64 битова архитектура ? )) 
================================================= 
Re: 
Според мен Юнака е отрязъл всичко на всичко 1 глава. 
Проблемът се появил още същата вечер в селската кръччма (irish pub) когато след няколко бири, на нефо му се сторило добра идея да удвои главите (сещате се как му е хрумнал този драматичен похват) 
...


Няма коментари:

Публикуване на коментар