1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | object Main extends Application { println("Euler Question #1: Add all the natural numbers below one thousand that are multiples of 3 or 5.") println("warming up the JVM...") val warmUpJvm = (1 until 100000).view.filter(i => (i % 3 == 0 || i % 5 == 0)).foldLeft(0)(_ + _) var start = System.currentTimeMillis() val answer1 = (1 until 1000).view.filter(i => (i % 3 == 0 || i % 5 == 0)).foldLeft(0)(_ + _) var end = System.currentTimeMillis() println("Answer: " + answer1) println("view.filer approach: " + (end - start) + "ms") println("Trying it another way, using a pattern match instead of filter...") start = System.currentTimeMillis() val answer2 = (1 until 1000).foldLeft(0){(total, x) => x match { case i if (i % 3 == 0 || i % 5 ==0) => i + total case _ => total } } end = System.currentTimeMillis() println("pattern matching approach: " + (end - start) + "ms") } |
b2JqZWN0IE1haW4gZXh0ZW5kcyBBcHBsaWNhdGlvbiB7CgpwcmludGxuKCJFdWxlciBRdWVzdGlvbiAjMTogQWRkIGFsbCB0aGUgbmF0dXJhbCBudW1iZXJzIGJlbG93IG9uZSB0aG91c2FuZCB0aGF0IGFyZSBtdWx0aXBsZXMgb2YgMyBvciA1LiIpCnByaW50bG4oIndhcm1pbmcgdXAgdGhlIEpWTS4uLiIpCnZhbCB3YXJtVXBKdm0gPSAoMSB1bnRpbCAxMDAwMDApLnZpZXcuZmlsdGVyKGkgPT4gKGkgJSAzID09IDAgfHwgaSAlIDUgPT0gMCkpLmZvbGRMZWZ0KDApKF8gKyBfKQp2YXIgc3RhcnQgPSBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKQp2YWwgYW5zd2VyMSA9ICgxIHVudGlsIDEwMDApLnZpZXcuZmlsdGVyKGkgPT4gKGkgJSAzID09IDAgfHwgaSAlIDUgPT0gMCkpLmZvbGRMZWZ0KDApKF8gKyBfKQp2YXIgZW5kID0gU3lzdGVtLmN1cnJlbnRUaW1lTWlsbGlzKCkKcHJpbnRsbigiQW5zd2VyOiAiICsgYW5zd2VyMSkKcHJpbnRsbigidmlldy5maWxlciBhcHByb2FjaDogIiArIChlbmQgLSBzdGFydCkgKyAibXMiKQpwcmludGxuKCJUcnlpbmcgaXQgYW5vdGhlciB3YXksIHVzaW5nIGEgcGF0dGVybiBtYXRjaCBpbnN0ZWFkIG9mIGZpbHRlci4uLiIpCnN0YXJ0ID0gU3lzdGVtLmN1cnJlbnRUaW1lTWlsbGlzKCkKdmFsIGFuc3dlcjIgPSAoMSB1bnRpbCAxMDAwKS5mb2xkTGVmdCgwKXsodG90YWwsIHgpID0+IAogIHggbWF0Y2ggewogICAgY2FzZSBpIGlmIChpICUgMyA9PSAwIHx8IGkgJSA1ID09MCkgPT4gaSArIHRvdGFsCiAgICBjYXNlIF8gPT4gdG90YWwKICB9Cn0KZW5kID0gU3lzdGVtLmN1cnJlbnRUaW1lTWlsbGlzKCkKcHJpbnRsbigicGF0dGVybiBtYXRjaGluZyBhcHByb2FjaDogIiArIChlbmQgLSBzdGFydCkgKyAibXMiKQoKfQ==
-
upload with new input
-
result: Success time: 0.25s memory: 212032 kB returned value: 0
Euler Question #1: Add all the natural numbers below one thousand that are multiples of 3 or 5. warming up the JVM... Answer: 233168 view.filer approach: 1ms Trying it another way, using a pattern match instead of filter... pattern matching approach: 1ms


