## Joseph Jude

# Largest palindrome made from the product of two 3-digit numbers

### Solution to Project Euler 004 problem in Swift, Python & Typescript

What I learnt (WIL):

- Swift is pathetically slow in double for loop (even in compiled form)
- Syntaxes keep changing (.reverse() is .reversed() in v3); So you waste time searching
- String reversal is so simple and easy in python compared to typescript & swift

### Python

```
answer = 0
for i in xrange(999, 100, -1):
for j in xrange(i, 100, -1):
k = i * j
s = str(k)
if s == s[::-1] and k > answer:
answer = k
print answer
```

### Typescript

```
var answer = 0
var k = 0
for (var i = 100; i < 1000; i++) {
for (var j = 100; j < i; j++) {
k = i * j
var kstr = k.toString()
var reversed = kstr.split("").reverse().join("")
if ((reversed == kstr) && (k > answer)) {
answer = k
}
}
}
console.log(answer)
```

### Swift

```
var answer = 0
var k = 0
var s = ""
var i = 100
var j = 100
while i < 1000 {
while j < i {
k = i * j
s = String(k)
if s == String(s.characters.reverse()) && k > answer {
answer = k
}
j += 1
}
i += 1
j = 100
}
print(answer)
//906609
```

Git Repository / All Euler Solutions

Got comments? Tweet it, or comment below.

Thanks for reading. Would you please let others know by sharing in Twitter?

Largest palindrome made from the product of two 3-digit numbers by @jjude: https://t.co/Av6vfo0Wic

— Joseph Jude (@jjude) October 10, 2016