summaryrefslogtreecommitdiff
path: root/euler46.myr
blob: 0aa1180005d20dfa358bd6b3fb6e2c2d5f54f9f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
use std

const isprime = {x
	if (x < 1)
		-> false
	;;
	for var i = 2; i * i <= x; i++
		if (x % i ==0)
			-> false
		;;
	;;
	-> true
}

const main = {
	for var i = 9; true; i+=2
		if (isprime(i))
			continue
		;;
		var found = true
		for var j = 1; true; j++
			var t = i - j * j * 2
			if t <= 0
				break
			;;
			if (isprime(t))
				found = false
				break
			;;
		;;
		if found
			std.put("{}\n", i)
			break
		;;
	;;
}