2009-03-01から1ヶ月間の記事一覧

Project Euler Problem 67

問題 By starting at the top of the triangle below and moving to adjacent numbers on the row below, the maximum total from top to bottom is 23. [3] [7]5 2[4]6 8 5[9]3 That is, 3 + 7 + 4 + 9 = 23. Find the maximum total from top to bottom in…

Project Euler Problem 18

問題 By starting at the top of the triangle below and moving to adjacent numbers on the row below, the maximum total from top to bottom is 23. [3] [7]5 2[4]6 8 5[9]3 That is, 3 + 7 + 4 + 9 = 23. Find the maximum total from top to bottom of…

Project Euler Problem 17

問題 If the numbers 1 to 5 are written out in words: one, two, three, four, five, then there are 3 + 3 + 5 + 4 + 4 = 19 letters used in total. If all the numbers from 1 to 1000 (one thousand) inclusive were written out in words, how many l…

Project Euler Problem 25

問題 The Fibonacci sequence is defined by the recurrence relation: F_(n) = F_(n−1) + F_(n−2), where F_(1) = 1 and F_(2) = 1. Hence the first 12 terms will be: F_(1) = 1 F_(2) = 1 F_(3) = 2 F_(4) = 3 F_(5) = 5 F_(6) = 8 F_(7) = 13 F_(8) = 2…

Project Euler Problem 24

問題 A permutation is an ordered arrangement of objects. For example, 3124 is one possible permutation of the digits 1, 2, 3 and 4. If all of the permutations are listed numerically or alphabetically, we call it lexicographic order. The le…

Project Eulerで使った階乗/約数/過剰数/不足数/完全数/友愛数(親和数)のまとめ

Project Eulerで使ったメソッドをまとめてみました 特にProject Eulerやっている人には便利だと思うのでぜひ使ってみてください。 (コレを使ったらほとんど答えになるので、自分で正解出した後でこんなやり方もあるんだ程度で。。←ツッコミどころ満載です)…

Project Euler Problem 23

問題 A perfect number is a number for which the sum of its proper divisors is exactly equal to the number. For example, the sum of the proper divisors of 28 would be 1 + 2 + 4 + 7 + 14 = 28, which means that 28 is a perfect number. A numbe…

Project Euler Problem 14

問題 The following iterative sequence is defined for the set of positive integers: n → n/2 (n is even) n → 3n + 1 (n is odd) Using the rule above and starting with 13, we generate the following sequence: 13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 …

Project Euler Problem 13

問題 Work out the first ten digits of the sum of the following one-hundred 50-digit numbers. 37107287533902102798797998220837590246510135740250 46376937677490009712648124896970078050417018260538 ・ ・ (略) ・ ・ 5350353422647252425087405…

Project Euler Problem 12

問題 The sequence of triangle numbers is generated by adding the natural numbers. So the 7^(th) triangle number would be 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. The first ten terms would be: 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ... Let us list the…

Project Euler Problem 11

問題 In the 20×20 grid below, four numbers along a diagonal line have been marked in red. 08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08 49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00 81 49 31 73 55 79 14 29 93 71…

Project Euler Problem 10

問題 The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17. Find the sum of all the primes below two million. ソース max = 2000000 prime = Array.new(max, 1) prime[0] = 0 prime[1] = 0 i = 2 while i < Math.sqrt(max).to_i + 1 do (i + i).step(m…

Project Euler Problem 9

問題 A Pythagorean triplet is a set of three natural numbers, a < b < c, for which, a^2 + b^2 = c^2 For example, 3^2 + 4^2 = 9 + 16 = 25 = 5^2. There exists exactly one Pythagorean triplet for which a + b + c = 1000. Find the product abc. …

Project Euler Problem 8

問題 Find the greatest product of five consecutive digits in the 1000-digit number. 73167176531330624919225119674426574742355349194934 96983520312774506326239578318016984801869478851843 85861560789112949495459501737958331952853208805511 12…

Project Euler Problem 7

問題 By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6^th prime is 13. What is the tex:10001^st prime number? ソース n = 10001 max = 150000 prime = Array.new(max, 1) prime[0] = 0 prime[1] = 0 i = 2 count…

Project Euler Problem 16

問題 2^15 = 32768 and the sum of its digits is 3 + 2 + 7 + 6 + 8 = 26. What is the sum of the digits of the number 2^1000? ソース x = 1000 puts (2 ** x).to_s.scan(/./).map{|x| x.to_i}.inject(:+) 解答 1366 感想 コレはRubyとinjectのお陰!

Project Euler Problem 15

問題 Starting in the top left corner of a 2×2 grid, there are 6 routes (without backtracking) to the bottom right corner. How many routes are there through a 20×20 grid? ソース class Integer def fact return 1 if self.zero? self * (self - 1…

Project Euler Problem 5

問題 2520 is the smallest number that can be divided by each of the numbers from 1 to 10without any remainder. What is the smallest number that is evenly divisible by all of the numbers from 1 to 20? ソース 解答 require 'mathn' x = 20 prim…

Project Euler Problem 4

問題 A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99. Find the largest palindrome made from the product of two 3-digit numbers. ソース max = 0 999.downto(…

Project Euler Problem 6

問題 The sum of the squares of the first ten natural numbers is, 1^(2) + 2^(2) + ... + 10^(2) = 385 The square of the sum of the first ten natural numbers is, (1 + 2 + ... + 10)^(2) = 55^(2) = 3025 Hence the difference between the sum of t…