Programmieren

Am Stammtisch und in thur.org.lug entstehen immer wieder Diskussionen, in denen es um Programmierung geht. Dabei haben sich einige interessante Aufgabenstellungen gefunden, die sich unter »Denksport und Knobeleien« zusammenfassen lassen. Diese Aufgaben und die Diskussionen der Lösungen sollen hier aufbereitet und interessierten Lesern zur Verfügung gestellt werden.

3m+1
Wieviele Schritte benötigt man höchstens um die Zahl 1 zu erreichen, wenn man jede gerade Zahl halbiert und jede ungerade Zahl verdreifacht und dieses um eins erhöht?
n von m Bits setzen
Gesucht sind alle Zahlen <2m, bei denen in Binärdarstellung genau n Stellen 1 sind. Diese sind geordnet auszugeben.
Schöne Bretter
Gibt es für ein n×m-Brett eine zweifarbige »schöne« Färbung, d.h. eine Färbung, bei der kein Viereck auftritt, dessen vier verschiedene Ecken die gleiche Farbe haben?
Gabelstapler
In einem Lagerhaus sind s Stapel. Auf dem ersten Stapel liegen p Platten, die anderen sind noch leer. Der zur Verfügung stehende Gabelstapler kann nur nach links und rechts und nimmt dabei immer pi/2 Platten mit (ist pi ungerade, sind es (pi+1)/2) und legt sie auf dem Nachbarstapel ab.
Ist es immer möglich eine Gleichverteilung (auf jedem Stapel liegen p/s Platten) der Platten zu erreichen? Wenn ja, wie sieht die Anweisungsfolge R L L R... aus?