Connexion
Applications Google
Menu principal
Post a Comment On:
Scattered Thoughts
Untitled
No comments yet. -
1 – 0 of 0
The thirteenth Project Euler problem is:
Find the first ten digits of the sum of one-hundred 50-digit numbers.
I used F#'s built in BigInt data type. The array of 50 digit numbers looks like this:
let numbers = [| 37107287533902102798797998220837590246510135740250I; 46376937677490009712648124896970078050417018260538I; 74324986199524741059474233309513058123726617309629I; 91942213363574161572522430563301811072406154908250I; 23067588207539346171171980310421047513778063246676I; 89261670696623633820136378418383684178734361726757I; 28112879812849979408065481931592621691275889832738I; 44274228917432520321923589422876796487670272189318I; 47451445736001306439091167216856844588711603153276I; 70386486105843025439939619828917593665686757934951I; 62176457141856560629502157223196586755079324193331I; 64906352462741904929101432445813822663347944758178I; 92575867718337217661963751590579239728245598838407I; 58203565325359399008402633568948830189458628227828I; 80181199384826282014278194139940567587151170094390I; 35398664372827112653829987240784473053190104293586I; 86515506006295864861532075273371959191420517255829I; 71693888707715466499115593487603532921714970056938I; 54370070576826684624621495650076471787294438377604I; 53282654108756828443191190634694037855217779295145I; 36123272525000296071075082563815656710885258350721I; 45876576172410976447339110607218265236877223636045I; 17423706905851860660448207621209813287860733969412I; 81142660418086830619328460811191061556940512689692I; 51934325451728388641918047049293215058642563049483I; 62467221648435076201727918039944693004732956340691I; 15732444386908125794514089057706229429197107928209I; 55037687525678773091862540744969844508330393682126I; 18336384825330154686196124348767681297534375946515I; 80386287592878490201521685554828717201219257766954I; 78182833757993103614740356856449095527097864797581I; 16726320100436897842553539920931837441497806860984I; 48403098129077791799088218795327364475675590848030I; 87086987551392711854517078544161852424320693150332I; 59959406895756536782107074926966537676326235447210I; 69793950679652694742597709739166693763042633987085I; 41052684708299085211399427365734116182760315001271I; 65378607361501080857009149939512557028198746004375I; 35829035317434717326932123578154982629742552737307I; 94953759765105305946966067683156574377167401875275I; 88902802571733229619176668713819931811048770190271I; 25267680276078003013678680992525463401061632866526I; 36270218540497705585629946580636237993140746255962I; 24074486908231174977792365466257246923322810917141I; 91430288197103288597806669760892938638285025333403I; 34413065578016127815921815005561868836468420090470I; 23053081172816430487623791969842487255036638784583I; 11487696932154902810424020138335124462181441773470I; 63783299490636259666498587618221225225512486764533I; 67720186971698544312419572409913959008952310058822I; 95548255300263520781532296796249481641953868218774I; 76085327132285723110424803456124867697064507995236I; 37774242535411291684276865538926205024910326572967I; 23701913275725675285653248258265463092207058596522I; 29798860272258331913126375147341994889534765745501I; 18495701454879288984856827726077713721403798879715I; 38298203783031473527721580348144513491373226651381I; 34829543829199918180278916522431027392251122869539I; 40957953066405232632538044100059654939159879593635I; 29746152185502371307642255121183693803580388584903I; 41698116222072977186158236678424689157993532961922I; 62467957194401269043877107275048102390895523597457I; 23189706772547915061505504953922979530901129967519I; 86188088225875314529584099251203829009407770775672I; 11306739708304724483816533873502340845647058077308I; 82959174767140363198008187129011875491310547126581I; 97623331044818386269515456334926366572897563400500I; 42846280183517070527831839425882145521227251250327I; 55121603546981200581762165212827652751691296897789I; 32238195734329339946437501907836945765883352399886I; 75506164965184775180738168837861091527357929701337I; 62177842752192623401942399639168044983993173312731I; 32924185707147349566916674687634660915035914677504I; 99518671430235219628894890102423325116913619626622I; 73267460800591547471830798392868535206946944540724I; 76841822524674417161514036427982273348055556214818I; 97142617910342598647204516893989422179826088076852I; 87783646182799346313767754307809363333018982642090I; 10848802521674670883215120185883543223812876952786I; 71329612474782464538636993009049310363619763878039I; 62184073572399794223406235393808339651327408011116I; 66627891981488087797941876876144230030984490851411I; 60661826293682836764744779239180335110989069790714I; 85786944089552990653640447425576083659976645795096I; 66024396409905389607120198219976047599490197230297I; 64913982680032973156037120041377903785566085089252I; 16730939319872750275468906903707539413042652315011I; 94809377245048795150954100921645863754710598436791I; 78639167021187492431995700641917969777599028300699I; 15368713711936614952811305876380278410754449733078I; 40789923115535562561142322423255033685442488917353I; 44889911501440648020369068063960672322193204149535I; 41503128880339536053299340368006977710650566631954I; 81234880673210146739058568557934581403627822703280I; 82616570773948327592232845941706525094512325230608I; 22918802058777319719839450180888072429661980811197I; 77158542502016545090413245809786882778948721859617I; 72107838435069186155435662884062257473692284509516I; 20849603980134001723930671666823555245252804609722I; 53503534226472524250874054075591789781264330331690I; |]
Once we have the numbers in an array it is easy to add them up:
numbers |> Array.sum |> printfn "total = %A"
So easy it feels like cheating. Formatting the data was the most time consuming part of solving this problem.
posted by Bernie at
4:38 PM
on Apr 19, 2010
Leave your comment
You can use some HTML tags, such as
<b>, <i>, <a>
Comment moderation has been enabled. All comments must be approved by the blog author.
Choose an identity
Google Account
You will be asked to sign in after submitting your comment.
Name/URL
Comment with your Google account if you’d like to be able to manage your comments in the future. If you comment anonymously, you won’t be able to edit or delete your comment.
Learn more
Name
URL
Anonymous
Comment with your Google account if you’d like to be able to manage your comments in the future. If you comment anonymously, you won’t be able to edit or delete your comment.
Learn more
Please prove you're not a robot
Untitled
No comments yet. -