Last active
August 29, 2015 14:16
-
-
Save monkieboy/a473a3576ab075fa36c1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//F#: | |
open System | |
let mutable result = [4.0] | |
let problem29 a = | |
for i in [2.0..a] do | |
for e in [2.0..a] do | |
result <- Math.Pow(i, e)::result | |
Seq.distinct result |> Seq.length;; | |
//C#: | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
var timer = new Stopwatch(); | |
timer.Start(); | |
var firstList = new List<double>(); | |
Enumerable | |
.Range(2, 99) | |
.ToList() | |
.ForEach(i => Enumerable | |
.Range(2, 99) | |
.ToList() | |
.ForEach(e => firstList.Add(Math.Pow(i, e)))); | |
Console.WriteLine(firstList.Distinct().ToList().Count); | |
timer.Stop(); | |
Console.WriteLine(@"Euler 29 took {0}ms to solve.", timer.ElapsedMilliseconds); | |
Console.ReadKey(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Distinct powers
Problem 29
Consider all integer combinations of ab for 2 ≤ a ≤ 5 and 2 ≤ b ≤ 5:
22=4, 23=8, 24=16, 25=32
32=9, 33=27, 34=81, 35=243
42=16, 43=64, 44=256, 45=1024
52=25, 53=125, 54=625, 55=3125
If they are then placed in numerical order, with any repeats removed, we get the following sequence of 15 distinct terms:
4, 8, 9, 16, 25, 27, 32, 64, 81, 125, 243, 256, 625, 1024, 3125
How many distinct terms are in the sequence generated by ab for 2 ≤ a ≤ 100 and 2 ≤ b ≤ 100?