
French: 
Aujourd'hui, je veux vous montrer une jolie manière
de résoudre l'énigme des tours de Hanoï
tout simplement en comptant dans une autre base.
De manière surprenante, ceci a un lien avec le fait de trouver une courbe qui remplit le triangle de Sierpinski.
C'est un ancien professeur d'informatique qui m'en a parlé.Son nom est Keith Schwarz,
et je dois l'avouer, cet homme est l'un des meilleurs enseignants que j'ai jamais rencontrés.
J'ai enregistré une partie de la conversation au cours de laquelle il m'a montré tout ça,
donc vous pourrez entendre une partie de ce qu'il a décrit directement.
« C'est curieux, je ne suis normalement pas le genre de personne qui aime les petites énigmes et autres jeux,
mais j'adore regarder l'analyse d'une énigme,
et observer des schémas mathématiques et me demander : d'où est-ce que ça vient ? »
Au cas où vous ne connaissez pas,
posons juste le casse-tête des tours de Hanoï.
« Alors, on a trois tiges, 
et des disques de taille décroissante. »
Imaginez que ces disques sont percés au milieu, afin de pouvoir les glisser sur les tiges.

Polish: 
Dziś chcę podzielić się z wami zgrabnym sposobem rozwiązania problemu wież Hanoi
tylko poprzez liczenie w innym systemie liczbowym.
Zaskakująco, ten problem jest powiązany ze znalezieniem krzywej wypełniającej trójkąt Sierpińskiego.
Dowiedziałem się o tym od mojego byłego wykładowcy prowadzącego kurs CS, Keitha Schwarza.
I muszę powiedzieć, że ten człowiek jest jednym z najlepszych pedagogów, jakich kiedykolwiek spotkałem.
Właściwie, nagrałem kawałek rozmowy, podczas której mi to pokazał,
więc możecie usłyszeć część tego, co wytłumaczył mi.
To dziwne, że nie jestem typem człowieka, który lubi zagadki i gry,
ale kocham patrzenie na ich analizę,
i uwielbiam patrzeć na wzory matematyczne i pytać: skąd to się wzięło?
Na wszelki wypadek,
wyjaśnijmy, czym właściwie jest problem wież Hanoi.
Mamy zbiór trzech kołków oraz tarcze o malejącej wielkości.
Przyjmujemy, że te dyski posiadają otwór w środku, dzięki czemu można nadziać je na kołek.

English: 
Today I want to share with you a neat way
to solve the towers of Hanoi puzzle
just by counting in a different number system,
and surprisingly this stuff relates to
 finding a curve that fills Sierpinski triangle.
I learned about this from a former CS lecturer of mine, his name is Keith Schwarz.
And I've got to say, this man is one of
 the best educators that I've ever met.
I actually recorded a bit of the conversation
where he showed me this stuff,
so you guys can hear some of 
what he described directly.
It's weird, I'm not normally the sort of person
 who likes little puzzles and games,
but I just love looking at the analysis
 of puzzles and games,
and I love just looking at mathematical patterns and (ask): where does that come from?
In case you aren't unfamiliar,
let's just lay down what the towers 
of Hanoi puzzle actually is.
So you have a collection of three pegs, 
and you have these discs of descending size.
You think of these disks as having a hole in the middle, so that you can fit them onto a peg.

Chinese: 
今天我想分享给大家  汉诺塔问题的一个巧妙的解法
它只用到了另一个计数系统中的数数过程
而且它竟还能帮你找到填充谢尔宾斯基三角形的一条曲线
教我这个的是我以前的一位计算机老师  名叫Keith Schwarz
不得不说  他是我见过最好的教师之一
我录下了他给我讲这些时的一部分对话
这样你们就能直接听到他的解释了
挺奇怪的  本来我不是喜欢小谜题和小游戏的那类人
不过我就是爱看这些谜题的解析
也爱看其中的数学规律  并且思考这究竟是怎么来的
要是你不熟悉这个的话
我们首先解释一下什么是汉诺塔问题
我们有三根柱子  还有从大到小的几个圆盘
这些圆盘都被穿了孔  这样就可以被串到柱子上

Chinese: 
这里我画了5个圆盘  依次标记为0 1 2 3 4
不过理论上  你想放多少个圆盘都行
一开始  圆盘从大到小依次叠放在一根杆上
你的目标是把整个塔从一根杆子移动到另一根杆子上
它的规则是  一次只能移动一个圆盘
而且大圆盘不能叠在小圆盘上面
例如  第一步你只能移动0号圆盘
因为其他盘上面都有东西
不先移开的话它们是动不了的
接下来  你可以移动1号盘
但它只能移动到没有0号盘的柱子上
不然大圆盘会被放到小圆盘的上面  这就犯规了
第一次听说这游戏的同学们
我强烈建议你们暂停视频  拿出不同大小的书本
自己试试看  感受感受这个问题
假如它难的话  难在哪里  简单的话  简单在哪里  想想这样的问题

French: 
Ici, nous avons cinq disques, 
que j'ai numérotés 0, 1, 2, 3, 4,
mais a priori vous pouvez en avoir 
autant que vous voulez.
« Au début, ils sont tous empilés du plus gros au plus petit sur une tige,
et l'objectif est de déplacer la tour entière d'une tige à l'autre.
La règle est qu'on ne peut bouger qu'un disque à la fois,
et qu'on ne peut pas poser un disque 
sur un disque plus petit que lui. »
Par exemple, la première étape est nécessairement 
de déplacer le disque 0,
comme tous les autres sont couverts par des disques
qu'il faudra déplacer avant d'espérer les bouger.
Après ça, on peut bouger le disque 1,
mais il doit aller sur une tige 
différente de celle du disque 0,
car sinon on mettrait un disque sur un disque plus petit, ce qui est interdit.
Si vous n'avez jamais vu ça,
je vous encourage à mettre la vidéo en pause, et à aller chercher des livres de tailles variées
et à essayer par vous-même, juste pour développer votre intuition de cette énigme :
si c'est difficile, pourquoi, et sinon, pourquoi ça ne l'est pas, ce genre de choses.

Polish: 
Zestaw I na zdjęciu ma pięć dysków, 
które oznaczę 0, 1, 2, 3, 4,
ale w zasadzie możemy mieć tak wiele dysków, ile chcemy.
Zaczynamy od ułożenia ich od
największego do najmniejszego na jednym kołku,
i celem jest, aby przesunąć całą
wieżę z jednego kołka na drugi.
Zasada jest taka, że można przenosić tylko jeden dysk na raz
i nie można przenieść większego dysku na wierzch mniejszego dysku.
Na przykład, pierwszy ruch musi obejmować przeniesienie dysku 0,
ponieważ każdy inny dysk ma mniejsze dyski na wierzchu
które musimy usunąć z drogi, zanim będzie można go przenieść.
Po tym, można przenieść dysk 1,
ale musi on iść na kołek który, nie ma obecnie dysku 0,
gdyż w przeciwnym razie położysz większy dysk na mniejszy, co jest niedozwolone.
Jeśli nigdy wcześniej tego nie widziałeś,
gorąco zachęcam, abyś wstrzymał się i wyciągnął kilka książek o różnej wielkości
i popróbował tego trochę, żeby poczuć, o co chodzi:
czy jest to trudne, dlaczego jest to trudno, jeśli nie, to dlaczego nie, tego rodzaju rzeczy.

English: 
The set I pictured here has five discs, 
which I'll label 0, 1, 2, 3, 4,
but in principle you could have as
 many discs as you want.
So they all start up stacked up from 
biggest to smallest on one spindle,
and the goal is to move the entire 
tower from one spindle to another.
The rule is you can only move
 one disc at a time,
and you can't move a bigger disc 
on top of a smaller disk.
For example, your first movemust involve moving disk 0,
since any other disk has stuff on top of it
that needs to get out of the way before it can move.
After that, you can move disc 1,
but it has to go on whatever peg doesn't currently have disk 0,
since otherwise you'll be putting a bigger disk on a smaller one, which isn't allowed.
If you've never seen this before,
I highly encourage you to pause and pull out some books of varying sizes
and try it out for yourself, just kind of get a feel for what the puzzle is:
if it's hard, why it's hard, if it's not, why it's not, that kind of stuff.

Chinese: 
Keith告诉了我这个问题相当出人意料的一点：
想解开汉诺塔问题  你只需要用二进制来数数
然后用计数的节奏来对应出移动圆盘的节奏
要是你不熟悉二进制的话
我首先会简短地概括一遍
其实  就算你已经很懂二进制
我还是想着重解释一下用它计数时的节奏
因为你以前说不定没这样想过
一般我们解释二进制时
首先会重新审视我们平常表示数字的方法
也就是十进制  因为我们会用到十个不同的数字  从0到9
这样数数的节奏是  首先把十个数字都数一遍
当每个数字都用完之后  你需要数"十"  于是用2位数来表示: 10
这个"1"位于十位
因为它代表了你之前数过的那十个数

French: 
Bon, Keith m'a montré quelque chose de vraiment surprenant au sujet de ce puzzle,
qui est qu'on peut le résoudre en comptant tout simplement en binaire,
et en associant au rythme auquel on compte des mouvements de disques.
Pour ceux qui ne sont pas familiers avec le binaire,
je vais prendre un moment pour en parler rapidement.
En fait, même si vous avec l'habitude du binaire,
je veux vous le présenter en me concentrant sur le rythme auquel on compte,
ce à quoi vous n'aviez peut-être jamais pensé.
Toutes les descriptions du binaire commencent en général
par une réflexion sur notre manière habituelle de représenter les nombre
que l'on appelle la base 10, puisque nous utilisons 10 chiffres différents, 0123456789.
Le procédé pour compter commence par parcourir les dix chiffres les uns après les autres,
Puis, une fois les chiffres épuisés, exprimer le nombre suivant, dix, avec deux chiffres : 10
On dit que 1 est à l'emplacement des dizaines
puisqu'il représente le groupe de dix que l'on a déjà compté

Polish: 
Keith pokazał mi coś naprawdę zaskakującego w tej układance,
mianowicie, że można ją rozwiązać tylko poprzez liczenie w systemie binarnym
i kojarzenie rytmu tego liczenia z pewnym rytmem ruchu dysków.
Dla każdego, kto nie zna systemu binarnego,
poświęcę chwilę, by zrobić tu najpierw szybkie streszczenie.
Właściwie, nawet jeśli jesteś zaznajomiony z systemem binarnym,
Chcę go wyjaśnić z naciskiem na rytm liczenia,
którego mogłeś wcześniej nie brać pod uwagę.
Każdy opis systemu binarnego zazwyczaj zaczyna
się od introspekcji naszego zwykłego sposobu reprezentowania liczb,
który nazywamy systemem o podstawie 10 - ponieważ używamy dziesięciu różnych cyfr 0,1,2,3,4,5,6,7,8,9.
Rytm liczenia zaczyna się od przechodzenia przez te wszystkie dziesięć cyfr.
Następnie, gdy już nie masz nowych cyfr, wyrażasz następny numer, dziesięć, przy użyciu dwóch cyfr: 1,0.
Można powiedzieć, że 1 jest w miejscu dziesiątek,
ponieważ zawiera grupy dziesiątek, które już policzyłeś do tej pory,

English: 
Now, Keith showed me something truly surprising about this puzzle,
which is that you can solve it just by counting up in binary
and associating the rhythm of that counting with a certain rhythm of disc movements.
For anyone unfamiliar with binary,
I'm going to take a moment to do a quick overview here first.
Actually, even if you are familiar with binary,
I want to explain it with a focus on the rhythm of counting,
which you may or may not have thought about before.
Any description of binary typically starts off
with an introspection about our usual way to represent numbers -
what we call base-10 - since we use ten separate digits, 0123456789.
The rhythm of counting begins by walking through all ten of these digits,
Then, having run out of new digits, you express the next number, ten, with two digits: 10.
You say that one is in the tens place,
since it's meant to encapsulate the group of 10 that you've already counted up to so far,

French: 
et on laisse ainsi l'emplacement des unités se remettre à zéro.
Le procédé de comptage se répète ainsi :
compter jusque neuf, aller mettre une dizaine,
compter neuf de plus, aller mettre une autre dizaine, etc.
Après avoir répété ce processus neuf fois,
on arrive aux centaines,
un chiffre qui représente combien de groupes de 100 on a comptés,
et cela libère les deux autres chiffres, 
que l'on remet à zéro.
En ce sens, le processus de comptage ne dépend pas de l'échelle à laquelle on le regarde :
même si vous vous reculez loin, pour le voir à très grande échelle, le processus ressemblera à :
faire quelque chose, décaler, 
faire la même chose, décaler,
et au bout de neuf fois, décaler, 
cette fois plus loin.
En binaire, aussi appelé base 2, on se restreint aux deux chiffres 0 et 1,
communément appelés "bits", qui est une abréviation de "binary digits" (chiffres binaires).

Chinese: 
然后把个位数清零  变成0
数数的节奏是这样重复的：
数到9  然后十位进1
再数9个数  然后十位再进1  如此类推
直到重复9遍之后
你就会向百位进1
百位记录的是你数过了多少个一百
这时后两位数就被清零了
从这个角度看  计数的节奏有点自相似性：
即使在更大的尺度上  整个过程也还是这样的
做一个动作  进一位  做同样的动作  再进一位
重复9次之后  再进更大的一位
在二进制中  你只能用两个数字  0和1
它们叫比特  这其实是"二进制数位"的简称

Polish: 
zwalniając miejsce jedynek, które się zeruje.
Rytm liczenia powtarza się w ten sposób:
liczysz do dziewięciu, przerzucasz do miejsca dziesiątek,
liczysz do kolejnej dziewiątki, przerzucasz do miejsca dziesiątek, itd.
Po powtórzeniu tego procesu dziewięć razy,
przerzucasz na miejsce setek -
- cyfrę, która mówi, ile grup setek już policzyłeś,
zwalniając dwie pozostałe cyfry, które się zerują.
W ten sposób rytm liczenia jest powtarzalny:
nawet jeśli powiększyć liczby, proces wygląda jak
robienie czegoś, przerzucenie, robienie tego samego, przerzucenie
i powtarzanie dziewięć razy aż do przerzucenia jeszcze większej liczby.
W systemie binarnym, znanym również jako system o podstawie 2, ograniczamy się do dwóch cyfr 0 i 1,
powszechnie nazywanych „bitami”, co jest skrótem od cyfr binarnych.

English: 
while freeing the ones place to reset to zero.
The rhythm of counting repeats like this:
counting up nine, rolling over to the tens place,
counting up nine more, rolling over to the tens place, etc.
Until after repeating that process nine times,
you roll over to a hundreds place,
a digital that keeps track of how many groups of 100 you've hit,
freeing up the other two digits to reset to zero.
In this way, the rhythm of counting is kind of self-similar:
even if you zoom out to a larger scale, the process looks like
doing something, rolling over, doing that same thing, rolling over,
and repeat nine times before an even larger roll over.
In binary, also known as base-2, you limit yourself to two digits, 0 and 1,
commonly called 'bits', which is short for binary digits.

English: 
The result is that when you're counting, you have to roll over all the time.
After counting 01 you've already run out of bits, so you need to roll over to a two's place,
writing '10' and resisting every urge in your base-10-trained brain to read this as ten,
and instead understand it to mean one group of 2 plus 0.
Then, increment up to 11, which represents three,
and already you have to roll over again,
and since there's a one in that two's place, that has to roll over as well,
giving you 100, which represents one group of four plus 0 groups of two plus 0,
in the same way that digits in base-10 represent powers of 10,
bits in base-two represent different powers of 2.
So instead of talking about a ten's place, a hundred's place, a thousand's place, things like that,
you talk about a two's place, a four's place and an eight's place.
The rhythm of counting is now a lot faster,

Polish: 
Skutkuje to tym, że gdy liczysz, musisz cały czas "przewracać".
Po zliczeniu 0, 1 już brakuje bitów, więc trzeba przewrócić do miejsca dwójek,
napisać „10” i sprzeciwić się każdemu impulsowi w Twoim mózgu wyszkolonym na systemie dziesiątkowym przed przeczytaniem tego, jako dziesięć,
i zrozumieć, że to oznacza jedną grupę dwójek plus 0.
Następnie, zwiększasz do 11, co reprezentuje 3
i już trzeba ponownie przerzucić,
a ponieważ na miejscu dwójek jest jedynka, którą trzeba też przerzucić,
co daje 100, co stanowi jedną grupę czwórek plus 0 grup dwójek plus 0,
w ten sam sposób, w jaki cyfry w systemie dziesiątkowym reprezentują potęgi 10,
bity w systemie dwójkowym reprezentują różne potęgi 2.
Więc zamiast mówić o miejscu dziesiątek, setek, tysięcy itp.,
można mówić o miejscu dwójek, czwórek i ósemek.
Rytm liczenia jest teraz o wiele szybszy,

French: 
La conséquence est que lorsque l'on compte, on doit passer son temps à mettre de côté.
Après avoir compté 01 on n'a déjà plus de bits, donc on doit aller remplir l'emplacement des "deux-aines",
en écrivant '10', et refuser à votre cerveau, entraîné à lire en base 10, son envie de le lire comme un dix,
mais plutôt le comprendre comme signifiant un groupe de 2 plus 0.
Alors, on augmente, et on arrive à 11, qui représente trois,
et déjà on doit décaler,
et puisqu'il y a déjà un 1 dans l'emplacement des 2, on doit décaler plus,
et on obtient 100, qui représente un groupe de 4 ,
plus 0 groupe de 2, plus 0.
Au même titre que les chiffres de l'écriture en base 10 représentent les puissances de 10,
les bits en base 2 représentent les différentes puissances de 2.
Alors, à la place de parler de dizaines, centaines, etc
on va parler de d'emplacement des 2, 4, 8 etc.
Le rythme auquel on compte est bien plus rapide,

Chinese: 
这样一来  计数时你就得经常进位了
当你数完0和1后  比特就全用完了  于是你就要进到二位
写作"10"  习惯了十进制的你千万要忍住别把它读作"十"
而是要把它想成是1个二  加上0
下一个数是11  表示数字三
接着你就又要进位了
但二位上已经是1了  所以你得再进一位
结果就是100  表示1个四  加0个二  加0
十进制里的数位表示10的幂
同理  二进制中的数位表示不同的2的幂
因此  十进制中有十位  百位  千位等等的概念
在二进制中有二位  四位  八位等等的概念
于是数数的节奏就快了很多

Chinese: 
不过同时也变得更加明显了
末位加一  进一位
末位加一  进两位
末位加一  进一位
末位加一  进三位
这个规律再次展现了自相似性
在不同的尺度上  这个过程都是做一个动作  进位  再重复动作
在小尺度下  例如数到三  也就是二进制中的11
我们先让个位数加一  然后进到二位
再让个位数加一
在大尺度上  例如数到十五  也就是二进制的1111
则先让后三位数数到七
进到八位
然后再让后三位数到七
数到255  也就是二进制里的8个1的话
你需要先数完最后7个比特
进到128位
然后再数完最后7个比特

French: 
mais cela le rend presque plus apparent.
Changer le denier, décaler,
Changer le dernier, décaler deux fois
Changer le denier, décaler,
Changer le denier, décaler trois fois.
De nouveau, on peut regarder le processus à plusieurs échelles :
on fait quelque chose, on décale, puis on refait la même chose.
À petite échelle, disons en comptant jusque trois, qui est 11 en binaire,
cela veut dire changer le dernier bit, décaler à l'emplacement des 2,
puis changer le dernier bit.
À une plus grande échelle, comme en comptant jusque quinze, qui est 1111 en binaire,
le processus consiste à laisser les trois derniers bits compter jusque sept,
décaler à l'emplacement des 8,
puis laisser les trois derniers bits compter de nouveau.
Compter jusque 255, qui est huit 1 successifs,
cela ressemble à laisser les sept derniers bits compter jusqu'à se remplir,
décaler à l'emplacement des 128,
puis laisser les sept derniers bits compter de nouveau.

Polish: 
ale prawie czyni go bardziej zauważalnym:
Przewróć ostatni, przerzuć raz.
Przewróć ostatni, przerzuć dwukrotnie.
Przewróć ostatni, przerzuć raz.
Przewróć ostatni, przerzuć trzykrotnie.
Ponownie, zachodzi pewna powtarzalność tego wzoru:
zawsze coś robimy, przerzucamy, następnie robimy to samo.
Na małą skalę, powiedzmy licząc do trzech, czyli binarnie do 11,
oznacza to przewrócenie ostatniego bitu, przewrócenie do miejsca dwójek,
następnie przewrócenie ostatniego bitu.
Na większą skalę, na przykład zliczając do piętnastu, czyli do 1111 binarnie,
proces polega na doliczeniu do siedmiu na trzech ostatnich bitach,
przerzuceniu do miejsca ósemek,
potem przeliczeniu trzech ostatnich bitów.
Liczenie do 255, czyli ośmiu jedynek,
wygląda jak liczenie ostatnich siedmiu bitów aż są pełne,
przerzucenie do miejsca 128,
następnie ponowne przeliczenie siedmiu ostatnich bitów.

English: 
but that almost makes it more noticeable:
Flip the last, roll over once.
Flip the last, roll over twice.
Flip the last, roll over once.
Flip the last, roll over three times.
Again, there's a certain self-similarity to this pattern:
at every scale the process is to do something, roll over, then do that same thing again.
At the small-scale, say counting up to three, which is 11 in binary,
this means flip the last bit, roll over to the two's,
then flip the last bit.
At a larger scale, like counting up to fifteen, which is 1111 in binary,
the process is to let the last three count up to seven,
roll over to the eight's place,
then let the last three bits count up again.
Counting up to 255, which is eight successive ones,
this looks like letting the last seven bits count up till they're full,
rolling over to the 128's place,
then letting the last seven bits count up again.

Chinese: 
好了  说完了二进制简介
Keith告诉我的惊人的事实是
我们能用这个节奏解开汉诺塔问题
你从零开始数起
每当你只是把末位数从0变成1的时候
就把0号盘移到它右边的柱子上
如果0已经在最右的柱子上了  就把它移回第一根柱子
要是在二进制计数中
你进到了二位  也就是把末两位数从01变成10的话
你就移动1号盘
也许你会问  移到哪里呢？
其实  你并没有什么选择
你不能把它放到0号上  而剩下的只有另一根柱了
所以你该往哪里移就往哪里移
接下来数到11  只需要个位加一
于是你再次移动0号盘
然后二进制中进到四位  所以你移动2号圆盘

Polish: 
W porządku, więc przy użyciu tego mini wstępu,
Keith pokazał mi zaskakujący fakt.
Możemy użyć tego rytmu, aby rozwiązać wieże Hanoi.
Zaczynasz licząc od zera.
Ilekroć przewracasz ostatni bit z zera na jedynkę,
przenieś dysk 0 o jeden kołek w prawo.
Jeśli jest już na skrajnie prawym kołku, po prostu umieszczasz go z powrotem na pierwszym kołku.
Jeśli w Twoim liczeniu binarnym,
przerzucasz raz do miejsca dwójek, czyli przewracasz dwa ostatnie bity,
przenosisz dysk numer 1.
„Gdzie go przenieść?” - możesz zapytać.
Cóż, nie masz wyboru.
Nie możesz umieścić go na dysku 0 i zostaje tylko jeden inny kołek,
więc przenosisz go tam, gdzie jesteś zmuszony go przenieść.
Więc po tym, licząc do 11, co obejmuje tylko przerzucanie ostatniego kawałka,
przenosisz ponownie dysk 0.
Następnie, gdy liczenie binarne przewraca się dwukrotnie do miejsca czwórek, przenieś dysk numer 2,

English: 
Alright, so with that mini introduction,
the surprising fact that Keith showed me
is that we can use this rhythm to solve the towers of Hanoi.
You start by counting from zero.
Whenever you're only flipping that last bit from a 0 to a 1,
move disc 0 one peg to the right.
If it was already on the rightmost peg, you just loop it back to the first peg.
If in your binary counting,
you roll over once to the two's place, meaning you flip the last two bits,
you move disc number 1.
"Where do you move it?" you might ask.
Well, you have no choice.
You can't put it on top of disk 0 and there's only one other peg,
so you move it where you're forced to move it.
So after this, counting up to 11, that involves just flipping the last bit,
so you move disk 0 again.
Then, when your binary counting rolls over twice to the four's place, move disc number 2,

French: 
Très bien, c'est fini pour cette petite introduction,
le fait surprenant que Keith m'a montré
est que l'on peut utiliser ce rythme pour résoudre les tours de Hanoï.
On commence à compter à partir de zéro.
Quand on change le dernier bit de 0 à 1,
on bouge le disque 0 d'une tige à droite.
S'il est déjà sur la tige de droite, on le remet sur celle de gauche.
Si dans le comptage en binaire,
on décale une fois dans l'emplacement des 2, signifiant que l'on change les deux derniers bits,
on bouge le disque 1.
"Où ?" vous pourriez me demander.
Eh bien, on n'a pas le choix.
On ne peut pas le mettre sur le disque 0, et il n'y a qu'une seule autre tige,
donc on le met où on peut.
Alors, après ça, on compte jusque 11, ce qui revient juste à changer le dernier bit,
donc on bouge le disque 0 de nouveau.
Ensuite, lorsque l'on décale dans l'emplacement des 4, on bouge le disque 2,

English: 
and the pattern continues like this:
flip the last, move disk 0, flip the last 2, move disc 1,
flip the last, move disk 0.
And here we're gonna have to roll over three times to the eight's place,
and that corresponds to moving disc number 3.
There's something magical about it,
like when I first saw this, like this can't work.
I don't know how this works, I don't know why this works.
Now I know, but it's just magical when you see it
and I remember putting together animation for this when I was teaching this,
and just like... you know, I know how this works, I know all the things in it,
it's still fun to just sit and just like you know...
-Watch it play out?         -Oh yeah.
I mean, it's not even clear at first that this is always going to give legal moves.
For example, how do you know that every time you're rolling over to the eight's place,
the disc 3 is necessarily going to be freed up to move?
At the same time the solution just immediately raise these questions like:
where does this come from,  why does this work,

Polish: 
i kontynuujemy wzór tak:
przerzuć ostatni, przenieś dysk 0, przerzuć ostatnie 2, przesuń dysk 1,
przerzuć ostatni, przenieś dysk 0.
I tutaj będziemy musieli przewracać trzykrotnie do miejsca ósemek,
a to odpowiada przeniesieniu dysku numer 3.
Jest w tym coś magicznego,
gdy po raz pierwszy to zobaczyłem, pomyślałem, że to nie może działać.
Nie wiem, jak to działa, nie wiem, dlaczego to działa.
Teraz wiem, ale to jest po prostu magiczne, gdy to widzisz
i pamiętam składanie animacji, kiedy tego uczyłem,
i po prostu ... wiesz, ja wiem, jak to działa, znam wszystkie te rzeczy,
nadal jest fajnie po prostu usiąść i wiesz...
Oglądać, jak to się rozgrywa? - O, tak.
To znaczy, na początku nie jest nawet jasne, że ta metoda zawsze da legalne posunięcia.
Na przykład, skąd wiadomo, że za każdym razem, gdy przerzucasz do miejsca ósemek,
dysk 3 na pewno będzie można przenieść?
Jednocześnie rozwiązanie to natychmiast porusza kwestie jak:
skąd się to wzięło, dlaczego to działa

French: 
et ainsi de suite :
on change le dernier, on bouge le disque 0, on change les deux derniers, on bouge le disque 1,
on change le dernier, on bouge le disque 0.
Et maintenant, on va devoir décaler dans l'emplacement des 8,
ce qui correspond à bouger le disque numéro 3.
« Il y a quelque chose de magique dans tout ça,
quand je l'ai vu pour la première fois : ça ne peut pas marcher.
Je ne sais pas comment ça marche, je ne sais pas pourquoi ça marche.
Maintenant je sais, mais c'est juste magique 
quand on le voit
et je me vois encore préparer les animations quand j'enseignais ça,
et juste... tu sais, je sais comment ça marche, 
il n'y a plus aucun mystère,
mais c'est encore amusant de s’asseoir 
et juste tu vois...
- Le regarder se faire ?
- Oh, oui. »
Je veux dire, ce n'est pas clair a priori que ceci va donner des mouvements autorisés.
Par exemple, comment sait-on que chaque fois que l'on décale dans l'emplacement du 8,
le disque 3 est nécessairement libre de bouger ?
« En même temps que la solution vient immédiatement des questions comme :
d'où est-ce que ça vient, pourquoi ça marche,

Chinese: 
接下来的规律是类似的
个位加一  移动0号盘  二位进一  移动1号盘
末位加一  移动0号盘
接着我们要进位三次  到八位
相应地我们移动3号圆盘
这个解法相当奇妙
我第一次看到的时候在想  这不可能
我不懂这个原理  不懂为什么能行
现在我懂了  不过看一遍还是觉得奇妙
我记得我备课时制作了一个动画演示
怎么说呢  我懂得原理  知道发生了什么
但坐下来完整地看一遍...
-还是觉得很有意思？             -对啊
你想想  一开始你都说不准为什么每一步都不会犯规
例如  怎么保证每次进到八位时
3号盘都一定能够移动呢？
同时  这个解法马上引出了其他的问题
例如  这是怎么来的  为什么能行

Chinese: 
有没有比2的(n-1)次方步更快的解法呢
其实这个解法不仅能解汉诺塔问题
而且还是个最优解
想要理解这为什么  怎么能行  究竟是什么道理
你得用某一个思想来看这个谜题
这个思想在计算机科学里叫做递归
3号盘心想  210你们好  你们挪个地儿呗
这么大堆玩意儿搁我身上叫我可咋整
于是从3号盘的角度想
你要是想要移动3号的话
不管你怎么做  2 1 0号盘必须得移动到B柱
它们必须得这么挪
任何一个盘在3号上面的话  3号都动不了
任何盘在C柱上的话  3号就不能移过去了
所以我们得移开2 1 0号
这样以后  我们就可以把3号移到C柱
然后3号说  我完事儿了
干哈都别捣鼓我了
你们能耐就都往我身上堆
于是  你就会得到同一个更小的问题

Polish: 
i czy jest na to lepszy sposób zamiast wykonywania 2^(n-1) kroków?
Okazuje się, że metoda nie tylko rozwiązuje problem wież Hanoi,
ale robi to w sposób możliwie najbardziej efektywny.
Zrozumienie, dlaczego to działa i jak to działa, i co tu się dzieje
sprowadza się do pewnej perspektywy,
którą człowiek po kursie CS może nazwać  perspektywą rekurencyjną.
Dysk 3 myśli "Ok, 2, 1 i 0, musicie ze mnie zejść,
nie mogę funkcjonować pod taką presją i ciężarem".
I tak właśnie z perspektywy dysku 3,
jeśli chcesz dowiedzieć się, jak dysk 3 dostanie się tutaj,
jakoś, nie obchodzi mnie jak, dyski 2, 1, 0 muszą się dostać do kołka B.
To jedyny sposób, w jaki można je przenieść.
Jeśli któryś z nich jest na dysku 3, nie mogę go przenieść.
A jeśli któryś z nich jest na kołku C, nie można go tam przenieść.
Więc jakoś musimy zdjąć 2, 1 i 0.
Zrobiwszy to, możemy tam przenieść płytę 3.
A następnie dysk 3 mówi "jestem na miejscu,
już nie trzeba mnie przenosić,
niech wszystkie inne dyski wymyślą, jak dostać się tutaj".
I w pewnym sensie masz teraz mniejszą wersję tego samego problemu:

French: 
et y a-t-il une manière de faire ça
en moins de 2^(n-1) étapes ? »
Il se trouve que non seulement
cela résout les tours de Hanoï,
mais ça le fait aussi
de la manière la plus efficace possible.
Comprendre pourquoi et comment ça marche et qu'est-ce qu'il se passe
revient à prendre une autre perspective sur l'énigme
que les informaticiens qualifieraient de récursive.
« Le disque 3 se dit, ok, 2 1 et 0, barrez-vous,
Je ne peux pas m'en sortir avec tout ce poids et cette pression sur mes épaules,
et donc, du point de vue du disque 3,
si l'on veut comprendre comment le disque 3 va aller là-bas,
d'une manière ou d'une autre, peu importe laquelle, 
les disques 2 1 0 doivent aller sur la tige B.
C'est la seule possibilité pour qu'il puisse bouger.
Si l'un d'entre eux, n'importe lequel, est au-dessus du disque 3, je ne peux pas le bouger,
et si l'un d'entre eux est sur la tige C, 
je ne peux pas l'y mettre.
Donc d'une manière on doit retirer 2 1 0.
Une fois cela fait, on peut retirer le disque 3 et le mettre là-bas.
Et puis le disque 3 dit : je suis posé,
tu n'as plus jamais besoin de me bouger,
trouvez juste un moyen de tous venir ici.
Et en quelque sorte on a maintenant une version plus petite du même problème :

English: 
and is there a better way of doing this then having to do 2^(n-1) steps?
It turns out not only does this solve towers of Hanoi,
but it does it in the most efficient way possible.
Understanding why this works and how it works and what the heck is going on
comes down to a certain perspective on the puzzle -
what CS folk might call a recursive perspective.
Disc 3 is thinking, okay 2 1 and 0, you have to get off of me,
I can't really function under this much weight and pressure.
And so just from disc 3's perspective,
if you want to figure out how is disc 3 going to get over here,
Somehow, I don't care how, disc 2 1 0 have to get to spindle B.
That's the only way they can move,
If any of these are on top of 3, I can't move it,
any of these are at spindle C, it can't move there.
So somehow we have to get 2, 1 and 0 off.
Having done that then we can move disc 3 over there.
And then disc 3 says, I'm set,
you never need to move me again,
everyone else just figure out how to get here.
And in a sense you now have a smaller version of the same problem:

Polish: 
Teraz masz dyski 0, 1 i 2 na kołku B, musimy przenieść je do C.
Więc chodzi o to, że jeśli skupię się po prostu na jednym dysku
i pomyślę o tym, co muszę zrobić, aby ten dysk pracował,
mogę przekształcić mój większy problem w coś mniejszego.
A następnie, jak mogę rozwiązać ten?
Dokładnie tak samo,
dysk 2 powie "dysk 1 i dysk 0,
po prostu potrzebuję trochę przestrzeni, wyjdźcie".
Muszą się gdzieś przenieść, a następnie dysk 2 może przenieść się tam, gdzie musi,
następnie dysk 1 i 0 mogą to zrobić.
Ale ciekawe jest to, że każdy pojedynczy dysk ma właściwie tę samą strategię:
Wszystkie mówią "wszyscy nade mną, wysiadać, a potem się przeniosę,
ok, wszyscy wracajcie".
Kiedy wiesz, że możesz zakodować coś, co rozwiąże wieże Hanoi,
myślę, że w pięć lub sześć linijek kodu,
kod prawdopodobnie będzie miał najwyższy stosunek wkładu intelektualnego do linii kodu kiedykolwiek.
A jeśli pomyślisz o tym przez chwilę,
staje się jasne, że to musi być najbardziej skuteczne rozwiązanie.
Na każdym kroku robisz tylko to, do czego jesteś zmuszony.

Chinese: 
现在0 1 2号盘在B柱上  要把它们移动到C柱上
所以思路是  每次只看一个圆盘
然后想  要移动这个盘  必须做什么
这样我就把大问题变成小一点的问题了
那小问题怎么解呢
一模一样的道理
2号盘说  1号0号  你们那个
我不是说谁  就是我想要一点空间  请下去吧
1号0号得移走  2号就能到想去的地方了
然后1号0号再移回来
重点是  每个圆盘的策略都是一样的
它们都说  楼上的下来  然后我就要动了
好之后大家就可以回来了
想到这个要点之后  你就能写出解汉诺塔的代码了
也就是五六行的事
估计这是史上每一行动脑量最大的代码
多想一想的话
你会发现这明显是最高效的解法
在每一步上  你做的不过是你必须要做的事

English: 
now you've got disc 0, 1 and 2 sitting on spindle B,  we gotta get them to C.
So the idea is that if I just focus on one disc
and I think about what I'm going to have to do to get this disc to work,
I can turn my bigger problem into something slightly smaller.
And then how do I solve that?
Well it's exactly the same thing,
disc 2 is going to say, disc 1 and disc 0, you need to, you know,
it's not you, it's me, I just need some space, get off.
They need to move somewhere, then disc 2 can move to where it needs to go,
then disc 1 and 0 can do this.
But the interesting point is that every single disc pretty much has the exact same strategy:
They all say, everybody above me, get off, then i'm going to move,
ok everyone come back on.
When you know that insight you can code up something that will solve towers of Hanoi
in I think five or six lines of code,
which probably has the highest ratio of intellectual investment to lines of code ever.
And if you think about it for a bit,
it becomes clear that this has to be the most efficient solution.
At every step you're only doing what is forced upon you.

French: 
Maintenant on a les disques 0 1 et 2 sur la tige B, 
et on doit les amener en C.
Donc l'idée est que si je me concentre juste sur un disque
et que je pense à ce que je dois faire à ce disque,
je peux transformer mon gros problème en quelque chose d'un peu plus petit.
Et ensuite, comment je le résous ?
Et bien, c'est exactement pareil.
Disque 2 va dire : disque 1 et 0, vous devez, vous savez,
c'est pas vous, c'est moi, 
j'ai besoin d'espace, barrez-vous.
Ils doivent aller quelque part, puis le disque 2 peut aller là où il doit aller,
puis les disques 1 et 0 peuvent faire ça.
Mais l'aspect intéressant est que chaque disque a la même stratégie :
Ils disent tous : allez tout le monde, barrez-vous, puis je bouge,
ok tout le monde peut revenir.
Quant on a compris ce point de vue on peut écrire un programme qui va résoudre les tours de Hanoï
en, je crois, cinq ou six lignes de code,
ce qui en fait probablement le plus gros ratio entre investissement intellectuel et lignes de code de l'histoire. »
Et si vous y réfléchissez un peu,
il devient clair que cela doit être la solution la plus efficace.
À chaque étape on ne fait que 
ce qu'on est obligé de faire

Chinese: 
在移动3号之前  必须移开0到2号
然后你必须移动3号
然后你必须把0到2号移回来
这样看  根本没有浪费步数的余地
那为什么二进制计数可以表示这个算法呢
是这样的  解决小问题
移动大圆盘  再解决小问题的这个规律
跟二进制计数是完全一致的
即数到一个数  进位  再数到同一个数
而且汉诺塔的算法和二进制计数都是自相似的过程
我的意思是  要是你多数一些  数到2的更高次幂
或者解圆盘数更多的汉诺塔
两者的结构都是一样的：
子问题  动一步什么  同样的子问题
举个例子  解两个圆盘的汉诺塔时

English: 
You have to get discs 0 through 2 off before you can move disc 3,
and you have to move disc three,
and then you have to move disk 0 through 2 back on to it.
There's just not any room for inefficiency from this perspective.
So why does counting in binary capture this algorithm?
Well what's going on here is that this pattern of solving a subproblem,
moving a big disk, then solving a subproblem again,
is perfectly paralleled by the pattern of binary counting:
count up some amount, roll over, count up to that same amount again.
And this towers of Hanoi algorithm and binary counting are both self similar processes,
in the sense that if you zoom out and count up to a larger power of 2,
or solve towers of Hanoi with more discs,
they both still have that same structure:
Subproblem, do a thing, subproblem.
For example, at a pretty small scale, solving towers of Hanoi for two discs,
move disc 0, move disc 1, move disc 0,

French: 
On doit retirer les disque 0 à 2 avant de pouvoir bouger le disque 3,
et on doit bouger le disque 3,
et on doit remettre les disque 0 à 2 dessus.
Il n'y a simplement pas de place pour l'inefficacité dans ce point de vue.
Alors, pourquoi est-ce que compter en binaire effectue cet algorithme ?
En fait, ce qui se passe ici, c'est que cette manière de résoudre un sous-problème,
bouger un gros disque, 
puis résoudre le sous-problème de nouveau,
est parfaitement parallèle 
au processus de comptage en binaire :
compter jusqu'à un nombre, décaler, compter jusqu'au même nombre à nouveau.
Et l'algorithme des tours de Hanoï et le comptage en base 2 sont deux processus invariants par changement d'échelle,
c'est-à-dire que si l'on s'éloigne et compte jusqu'à une grosse puissance de 2,
ou résout les tours de Hanoï avec plus de disques,
ils ont tous les deux encore la même structure :
sous-problème, faire quelque chose, sous-problème.
Par exemple, à une petit échelle, résoudre les tours de Hanoï pour deux disques,
bouger le disque 0, bouger le disque 1,
bouger le disque 0,

Polish: 
Musisz zdjąć dyski od 0 do 2, zanim będziesz mógł przenieść dysk 3,
i musisz przenieść dysk 3,
a następnie musisz przenieść dyski 0 do 2 z powrotem na dysk 3.
Z tej perspektywy, nie ma miejsca na nieefektywność.
Więc dlaczego liczenie binarne uchwyca ten algorytm?
Więc chodzi o to, że ten wzór rozwiązywania podproblemu,
przenoszenia dużego dysku, a następnie ponownego rozwiązywania podproblemu,
jest idealnie równoległy do wzoru liczenia binarnego:
dolicz do pewnej ilości, przerzuć, licz do tej samej ilości ponownie.
I ten algorytm wież Hanoi i liczenie binarne są podobnymi procesami,
w tym sensie, że jeśli powiększysz skalę i policzysz do większej potęgi 2,
lub rozwiążesz wieże Hanoi z większą ilością dysków,
oba problemy nadal mają tę samą strukturę:
podproblem, zrób coś, podproblem.
Na przykład, przy dość małej skali, rozwiązywanie wież Hanoi dla dwóch dysków,
przenieś dysk 0, przenieś dysk 1, przenieś dysk 0,

Polish: 
jest reprezentowane przez liczenie do trzech w systemie binarnym:
przewróć ostatni bit, przerzuć raz, przewróć ostatni bit.
W nieco większej skali, rozwiązywanie wież Hanoi dla trzech dysków wygląda następująco:
rób wszystko, aby rozwiązać problem dla dwóch dysków, przenieś dysk numer 2,
następnie rozwiąż ponownie dla dwóch dysków.
Analogicznie liczenie do 111 binarnie polega na liczeniu do trzech,
przerzucenie wszystkich trzech bitów, następnie liczenie do 3 więcej.
We wszystkich skalach, oba procesy mają tę samą awarię.
Powodem, dla którego rozwiązanie binarne działa,
a przynajmniej wyjaśnienie, choć czuję, że nie ma jednego wyjaśnienia, ale
myślę, że najbardziej naturalnym jest to, że
wzór, którego użyłbyś do wygenerowania tych liczb binarnych
ma dokładnie taką samą strukturę jak wzór, który byś wykorzystał do wież Hanoi,
dlatego, jeśli spojrzysz na przewracanie bitów, skutecznie odwracasz ten proces.
Pytasz, jaki proces je wygenerował,

French: 
est réfléchi par le fait de compter à trois en binaire :
changer le dernier bit, décaler une fois, 
changer le dernier bit.
À une échelle un peine plus grande, résoudre les tours de Hanoï avec trois disques ressemble à :
faire ce qu'il faut pour la résoudre avec deux disques, bouger le disque 2,
puis refaire ce qu'il faut pour résoudre les deux disques.
De même, compter jusque 111 en binaire revient à compter jusque trois,
décaler ces trois bits, puis compter jusque trois de nouveau.
À n'importe quelle échelle, ces deux processus se découpent de la même manière.
« Donc en quelque sorte, la raison pour laquelle la solution binaire fonctionne,
ou au moins une explication, 
j'ai l'impression qu'il n'y a pas une seule explication,
je pense que la plus naturelle est que
le processus que l'on doit utiliser pour générer ces nombres binaires
a exactement la même structure que le processus pour résoudre les tours de Hanoï,
c'est pourquoi si l'on regarde les bits redescendre,
on se demande : quel processus crée cela,

English: 
is reflected by counting up to three in binary:
flip the last bit, roll over once, flip the last bit.
At a slightly larger scale, solving towers of Hanoi for three discs looks like:
doing whatever it takes to solve two discs, move disc number 2,
then do whatever it takes to solve two discs again.
Analogously counting up to 111 in binary involves counting up to three,
rolling over all three bits, then counting up three more.
At all scales, both processes have this same breakdown.
So in a sense, the reason that this binary solution works,
at least an explanation, I feel like there's no one explanation, but,
I think the most natural one is that
the pattern you would use to generate these binary numbers
has exactly the same structure as the pattern you would use for towers of Hanoi,
which is why if you look at the bits flipping, you're effectively reversing this process.
You're saying what process generated these,

Chinese: 
移动0号  移动1号  移动0号
对应着用二进制来数到三
末位加一  进一位  末位加一
大一点的例子  3个圆盘的汉诺塔是这样解的
想办法解决2个盘的问题  移动2号盘
再想办法解决2个盘的问题
同样地  二进制中数到111  要先数三个数到11
最高位进一  再数三个数
在任何尺度下  两个过程的结构是一样的
所以可以说  二进制解法可行的原因
至少是原因之一吧  并没有唯一的正确解释
但我觉得最自然的解释是
写出这些二进制数所用到的规律
和解决汉诺塔问题所用到的规律  结构是一模一样的
因此如果你去看比特的跳动方式  你实际上是在反过来思考
也就是在问  二进制数是怎么写出来的

French: 
comme si j'essayais de comprendre comment ces bits étaient changés pour donner ça,
et en effet on redécouvre l'algorithme des tours d'Hanoï
et c'est pourquoi ça fonctionne.
C'est plutôt cool, non ?
Mais en fait, ça devient encore plus cool,
et j'ai même pas encore parlé de la relation avec le triangle de Sierpinski,
et c'est exactement ce que je vais faire dans la vidéo suivante, partie 2.
Merci beaucoup à tous ceux qui soutiennent ces vidéos sur Patreon.
Je viens juste de finir le premier chapitre sur l'Essence du Calcul différentiel
et je travaille en ce moment sur la seconde,
et les supporters du Patreon ont un accès anticipé à ces vidéos
avant que je publie la série entière dans quelques mois.
Cette vidéo et la suivante sont supportées par Desmos.

Chinese: 
就像当我想要理解比特是如何通过跳动来解答的时候
实际上你就是在逆向地找出汉诺塔的递归算法
这就是解法成功的原因
很酷对吧
不过其实还有更酷的
我都还没开始讲这和谢尔宾斯基三角形之间的关系
我在接下来的第二部分里会讲到这个
我衷心地感谢在Patreon上支持我的所有人
我刚刚完成了“微积分的本质”系列第一集
现在正在制作第二集
Patreon上的赞助者们能提前看到这些视频
我会在几个月内发布整个系列
这个和下个视频同时也由Desmos赞助播出

Polish: 
gdybym starał się zrozumieć, jak te bity zostały odwrócone,
skutecznie odwracasz algorytm rekurencyjny dla wież Hanoi,
dlatego to działa.
To całkiem fajne, prawda?
Ale robi się jeszcze fajniej.
Nawet nie doszedłem do tego, jak to się odnosi do trójkąta Sierpińskiego.
I właśnie to mam zamiar zrobić w następnym wideo, w części 2.
Wielkie dzięki dla wszystkich, którzy wsparli te filmy na Patreonie.
Właśnie skończyłem pierwszy rozdział "Istota analizy matematycznej"
i pracuję teraz nad drugim,
a wspierający na Patreonie dostają wcześniejszy dostęp do tych filmów
zanim opublikuję pełny cykl w ciągu kilku miesięcy.
Ten film i następny są również wspierane przez Desmos.
I przed następnym filmem chcę
Wam opowiedzieć kim oni są i,
że chcą zatrudnić nowych ludzi.
Desmos jest naprawdę fajny!
Robią dużo interaktywnych materiałów
matematycznych na zajęcia
i narzędzi dla nauczycieli.
Głównym elementem ich oferty są materiały edukacyjne

English: 
like if I were trying to understand how these bits were flipped to give me this thing,
you're effectively reverse engineering the recursive algorithm for tower of Hanoi,
which is why it works out.
That's pretty cool, right?
But it actually gets cooler,
I haven't even gotten to how this relates to Sierpinski triangle.
and that's exactly what I'm going to do in the following video, part 2.
Many thanks to everybody who is supporting these videos on Patreon.
I just finished the first chapter of Essence of Calculus,
and I'm working on the second one right now,
and Patreon supporters are getting early access to these videos
before I publish the full series in a few months.
this video and the next one are also supported by Desmos.

Polish: 
na zajęcia. Jestem pod wielkim wrażeniem, jak dobrze przemyślane są te materiały pod kątem pedagogicznym.
Ich zespół dobrze zna się na rzeczy i naprawdę zmienia na lepsze życie studentów i nauczycieli.
I jak już mówiłem, szukają nowych pracowników. Zawsze szukają nowych talentów,
zarówno inżynierów, projektantów, nauczycieli, jak i wszystkich innych, których umiejętności przydadzą się w tym, co robią.
Jeśli ktoś z Was jest zainteresowany dołączeniem do nich
i pomaganiem w tworzeniu świetnych narzędzi dla uczniów i nauczycieli, sprawdź stronę Kariery,
do której link zamieściłem w opisie. Osobiście, uważam, że robią ważne rzeczy i, że budują dobre intuicje matematyczne u studentów.
I świat dużo zyska mając utalentowanych ludzi, wkładających swój wysiłek w edukację tak, jak oni.
Do zobaczenia w następnym wideo. Myślę, że
naprawdę spodoba Wam się to, do czego zmierzamy.
