prime4.st

来自「四皇后问题」· ST 代码 · 共 29 行

ST
29
字号
Class Main
[
	main	| x gen |
		gen <- Primes new.
		(smalltalk time: [x <- gen first.
		[x < 300]
			whileTrue: [ x print. x <- gen next] ] ) print
]
Class Primes
| prevPrimes lastPrime |
[
	first
		prevPrimes <- Set new.
		prevPrimes add: (lastPrime <- 2).
		^ lastPrime
|
	next
		[lastPrime <- lastPrime + 1.
		 self testNumber: lastPrime]
			whileFalse.
		prevPrimes add: lastPrime.
		^ lastPrime
|
	testNumber: n
		prevPrimes do: [:x | 
			(n \\ x = 0) ifTrue: [ ^ false ] ].
		^ true
]

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?