Home

Awesome

Euler's Melting Pot

This is a Project Euler attempt. The catch is that every challenge will be completed in a different programming language.

Euler's Melting Pot is also being run as an educational YouTube series, where I talk about the code I've written here. See https://www.youtube.com/playlist?list=PL1ltQrTP1szcCAD-Jm-6eQdV_zhnm3oNq

Languages Used

Full details of the various solutions are listed below, but for the sake of easy reference, here is an alphabetized list of the languages that have been used in these challenges so far.

Completed Challenges

Euler 1

Euler 2

Euler 3

Euler 4

Euler 5

Euler 6

Euler 7

Euler 8

Euler 9

Euler 10

Euler 11

Euler 12

Euler 13

Euler 14

Euler 15

Euler 16

Euler 17

Euler 18

Euler 19

Euler 20

Euler 21

Euler 22

Euler 23

Euler 24

Euler 25

Euler 26

Euler 27

Euler 28

Euler 29

Euler 30

Euler 31

Euler 32

Euler 33

Euler 34

Euler 35

Euler 36

Euler 37

Euler 38

Euler 39

Euler 40

Euler 41

Euler 42

Euler 43

Euler 44

Euler 45

Euler 46

Euler 47

Euler 48

Euler 49

Euler 50

Euler 51

Euler 52

Euler 53

Euler 54

Euler 55

Euler 56

Euler 57

Euler 58

Euler 59

Euler 60

Euler 61

Euler 62

Euler 63

Euler 64

Euler 65

Euler 66

Euler 67

Euler 68

Euler 69

Euler 70

Euler 71

Euler 72

Euler 73

Euler 74

Euler 75

Euler 76

Euler 77

Euler 78

Euler 79

Euler 80

Euler 81

Euler 82

Euler 83

Euler 84

Euler 85

Euler 86

Euler 87

Euler 88

Euler 89

Euler 90

Euler 91

Euler 92

Euler 93

Euler 94

Euler 95

Euler 96

Euler 97

Euler 98

Euler 99

Euler 100

Euler 101

Euler 102

Euler 103

Euler 104

Euler 105

Euler 106

Euler 107

Euler 108

Euler 109

Euler 110

Euler 111

Euler 112

Euler 113

Euler 114

Euler 115

Euler 116

Euler 117

Euler 118

Euler 119

Euler 120

Euler 121

Euler 122

Euler 123

Euler 124

Euler 125

Euler 126

Euler 127

Euler 128

Euler 129

Euler 130

Euler 131

Euler 132

Euler 133

Euler 134

Euler 135

Euler 136

Euler 137

Euler 138

Euler 139

Euler 140

Euler 141

Euler 142

Euler 143

Euler 144

Euler 145

Euler 146

Euler 147

Euler 148

Euler 149

Euler 150

Euler 151

Euler 152

Euler 153

Euler 154

Euler 155

Euler 156

Euler 157

Euler 158

Euler 159

Euler 160

Euler 161

Euler 162

Euler 163

Euler 164

Euler 165

Euler 166

Euler 167

Euler 168

Euler 169

Euler 170

Euler 171

Euler 172

Euler 173

Euler 174

Euler 175

Euler 176

Euler 177

Euler 178

Euler 179

Euler 180

Euler 181

Euler 182

Euler 183

Euler 184

Euler 185

Euler 186

Euler 187

Euler 188

Euler 189

Euler 190

Euler 191

Euler 192

Euler 193

Euler 194

Euler 195

Euler 196

Valid Languages

Mostly, I am just using common sense to determine what constitutes a "language". In particular, a language does not have to be Turing-complete in order for me to consider using it for this challenge. Here are just a few of the guidelines I am following. These are in no way permanent or binding and will change as I progress.

Speed Adjectives

Some solutions are marked as "slow". Generally speaking, the following rough guidelines can be used to estimate how long it takes to run the code on a reasonably modern computer. These are, of course, very rough estimates, so take them with a grain of salt.

Currently, the slowest solutions in this repository are:

Currently, the slowest solution in this repository is Problem 130 (Fourier), which takes roughly 26 minutes. The second slowest is Problem 96 (Javagony), at roughly 20 minutes.

I do not have an explicit upper bound on the runtime of a correct algorithm. I will not leave code unattended overnight or for days on end, and the code written must actually terminate on a machine I have access to, not just theoretically produce correct results.

Final Notes

You'll notice that I'm not using many of the mainstream languages so far. This is not because I'm trying to make this challenge harder than it is; this is a purely strategic decision. The later Project Euler problems are more difficult, so I am saving the powerful and easy-to-use languages for them and using obscure, esoteric languages for the easier problems.