Skip to content

Instantly share code, notes, and snippets.

@zerosum
zerosum / Euler0033.scala
Created February 9, 2013 06:31
Project Euler: Problem 33
package euler.zerosum
object Euler0033 {
val TWO_DIGIT_NUMS = (10 to 99).toStream
def main(args: Array[String]) {
val fractions =
TWO_DIGIT_NUMS
.foldLeft(List((1, 1)))((x, y) =>
@zerosum
zerosum / Euler0031.scala
Last active December 12, 2015 09:09
Project Euler: Problem 31
package euler.zerosum
object Euler0031 {
val P1 = 1
val P2 = 2
val P5 = 5
val P10 = 10
val P20 = 20
val P50 = 50
@zerosum
zerosum / Euler0081.scala
Created February 14, 2013 03:20
Project Euler: Problem 81
package euler.zerosum
import io.Source
object Euler0081 {
def main(args: Array[String]) {
val f = Source.fromFile("matrix.txt")
val matrix = f.getLines.foldRight(List(List(0)))((x, y) =>
x.split(",").toList.map(_.toInt) :: y
@zerosum
zerosum / Euler0027.scala
Last active December 13, 2015 21:28
Project Euler: Problem 27
package euler.zerosum
import euler.zerosum.Prime._
import euler.zerosum.Number._
import euler.zerosum.Divisors._
object Euler0027 {
def main(args: Array[String]) {
val a = (-999 to 999).toStream
@zerosum
zerosum / Euler0092.scala
Created February 19, 2013 11:32
Project Euler: Problem 92
package euler.zerosum
import euler.zerosum.Number._
object Euler0092 {
def main(args: Array[String]) {
val n = from(0).take(1000)
println(
@zerosum
zerosum / Euler0065.scala
Created February 19, 2013 13:53
Project Euler: Problem 65
package euler.zerosum
object Euler0065 {
def main(args: Array[String]) {
val a = e.take(100)
val numer = a.init.foldRight(new Rational(a.last, 1))(new Rational(_, 1) + new Rational(1, 1) / _).numer
println(numer.toString.toList.map(_.toInt - 48).sum)
}
@zerosum
zerosum / Euler0035.scala
Last active December 13, 2015 23:58
Project Euler: Problem 35
package euler.zerosum
import euler.zerosum.Prime._
import euler.zerosum.Divisors._
object Euler0035 {
def main(args: Array[String]) {
println(provideCircularPrimes(primes(1, 1000000), Nil).length)
}
@zerosum
zerosum / Euler0007.scala
Created February 20, 2013 11:58
Project Euler: Problem 7
package euler.zerosum
import euler.zerosum.Prime._
object Euler0007 {
def main(args: Array[String]) {
println(primes(1, 110000).take(10001).last)
}
}
@zerosum
zerosum / Euler0089.scala
Created February 20, 2013 14:47
Project Euler: Problem 89
package euler.zerosum
import io.Source
object Euler0089 {
def main(args: Array[String]) {
val f = Source.fromFile("resources/roman.txt")
val roman = f.getLines.toList
f.close()
@zerosum
zerosum / Euler0046.scala
Created February 21, 2013 12:18
Project Euler: Problem 46
package euler.zerosum
import euler.zerosum.Prime._
import euler.zerosum.Number._
import euler.zerosum.Divisors._
object Euler0046 {
private val oddComposites = from(2).filterNot(n => n % 2 == 0 || primes(1, n).contains(n))