Collatz sequence pseudo code on Smalltalk

Pseudocode 

	"Collatz conjecture"
	
	let "n := 1"
	while "n > 1"
		if n is even then
			"n := n/2"
		else
			"n := 3 * n + 1"
		assert is not a infinite loop
		assert "n = 1".
		
n := 17.
Trace reset.
Trace addValue: n labeled: 'n'.
[ n > 1 ] whileTrue: [  
	n even ifTrue: [  
		n := n/2	
	] ifFalse: [  
		n := 3*n + 1
	].	
	Trace addValue: n labeled: 'n'.
].
Trace entries
https://en.wikipedia.org/wiki/Collatz_conjecture

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s