From 198b8d0fd3632dbbd649ca8f732e4579e76fb4da Mon Sep 17 00:00:00 2001 From: "Yann Esposito (Yogsototh)" Date: Tue, 31 May 2011 17:31:13 +0200 Subject: [PATCH] Initial submit --- 002.rb | 24 + 003.rb | 13 + 004.rb | 19 + 005.rb | 23 + 006.rb | 17 + 007.rb | 27 + 008.rb | 36 + 009.rb | 27 + 010-bis.c | 36 + 010-bis.rb | 38 + 010.c | 54 ++ 010.rb | 39 + 010.x | Bin 0 -> 7212 bytes 011.rb | 110 +++ 012.rb | 157 ++++ 013.rb | 109 +++ 014.rb | 61 ++ 015.rb | 60 ++ 017.rb | 85 +++ 018.rb | 88 +++ 019.rb | 44 ++ 020.rb | 6 + 021.rb | 32 + 022.rb | 26 + 023.rb | 69 ++ 024.rb | 36 + 025.rb | 38 + 026.rb | 62 ++ 027.rb | 60 ++ 028.rb | 41 + 029.rb | 22 + 030.rb | 37 + 031.rb | 40 + 032.rb | 42 ++ 033.rb | 36 + 034.rb | 45 ++ 035.rb | 39 + 036.rb | 16 + 037.rb | 55 ++ 038.rb | 38 + 039.rb | 42 ++ 040.rb | 25 + 041.rb | 43 ++ 042.rb | 42 ++ 043.rb | 95 +++ 044.rb | 61 ++ 045.rb | 46 ++ 046.rb | 48 ++ 047.rb | 63 ++ 048.rb | 12 + 049.rb | 45 ++ 050.rb | 49 ++ 051.rb | 75 ++ 052.rb | 23 + 053.rb | 55 ++ 054.rb | 322 ++++++++ 055.hs | 18 + 056.hs | 11 + 057.hs | 49 ++ 058.hs | 66 ++ 058.rb | 56 ++ 059.c | 129 ++++ 059.rb | 27 + 060 | Bin 0 -> 824624 bytes 060-old.hs | 76 ++ 060.hi | Bin 0 -> 992 bytes 060.hs | 50 ++ 060.o | Bin 0 -> 13524 bytes Prime.hi | Bin 0 -> 790 bytes Prime.hs | 33 + Prime.o | Bin 0 -> 19944 bytes README.md | 4 + cipher1-line.txt | 1201 +++++++++++++++++++++++++++++ cipher1.enc | Bin 0 -> 1202 bytes cipher1.txt | 1 + combination.hs | 30 + dictionnary.c | 92 +++ generate_primes.rb | 37 + names.txt | 1 + poker.txt | 1 + poker.txt.old | 1000 +++++++++++++++++++++++++ primes.rb | 16 + trace | 676 +++++++++++++++++ true.poker.txt | 1000 +++++++++++++++++++++++++ tst.poker.txt | 9 + words-line.test | 4 + words-line.txt | 1786 ++++++++++++++++++++++++++++++++++++++++++++ words.txt | 1 + 88 files changed, 9227 insertions(+) create mode 100644 002.rb create mode 100644 003.rb create mode 100644 004.rb create mode 100644 005.rb create mode 100644 006.rb create mode 100644 007.rb create mode 100644 008.rb create mode 100644 009.rb create mode 100644 010-bis.c create mode 100644 010-bis.rb create mode 100644 010.c create mode 100644 010.rb create mode 100755 010.x create mode 100644 011.rb create mode 100644 012.rb create mode 100644 013.rb create mode 100644 014.rb create mode 100644 015.rb create mode 100644 017.rb create mode 100644 018.rb create mode 100644 019.rb create mode 100644 020.rb create mode 100644 021.rb create mode 100644 022.rb create mode 100644 023.rb create mode 100644 024.rb create mode 100644 025.rb create mode 100644 026.rb create mode 100644 027.rb create mode 100644 028.rb create mode 100644 029.rb create mode 100644 030.rb create mode 100644 031.rb create mode 100644 032.rb create mode 100644 033.rb create mode 100644 034.rb create mode 100644 035.rb create mode 100644 036.rb create mode 100644 037.rb create mode 100644 038.rb create mode 100644 039.rb create mode 100644 040.rb create mode 100644 041.rb create mode 100644 042.rb create mode 100644 043.rb create mode 100644 044.rb create mode 100644 045.rb create mode 100644 046.rb create mode 100644 047.rb create mode 100644 048.rb create mode 100644 049.rb create mode 100644 050.rb create mode 100644 051.rb create mode 100644 052.rb create mode 100644 053.rb create mode 100644 054.rb create mode 100644 055.hs create mode 100644 056.hs create mode 100644 057.hs create mode 100644 058.hs create mode 100644 058.rb create mode 100644 059.c create mode 100644 059.rb create mode 100755 060 create mode 100644 060-old.hs create mode 100644 060.hi create mode 100644 060.hs create mode 100644 060.o create mode 100644 Prime.hi create mode 100644 Prime.hs create mode 100644 Prime.o create mode 100644 README.md create mode 100644 cipher1-line.txt create mode 100644 cipher1.enc create mode 100644 cipher1.txt create mode 100644 combination.hs create mode 100644 dictionnary.c create mode 100644 generate_primes.rb create mode 100644 names.txt create mode 120000 poker.txt create mode 100644 poker.txt.old create mode 100644 primes.rb create mode 100644 trace create mode 100644 true.poker.txt create mode 100644 tst.poker.txt create mode 100644 words-line.test create mode 100644 words-line.txt create mode 100644 words.txt diff --git a/002.rb b/002.rb new file mode 100644 index 0000000..ae1c6b0 --- /dev/null +++ b/002.rb @@ -0,0 +1,24 @@ +def fib (n) + return 1 if n < 2 + x=y=i=1 + while i < n + z = x+y + x = y + y = z + i+=1 + end + return z +end + +j=1 +sum=0 +x=fib(1) +while x<4000000 + x = fib(j) + if x%2 == 0 + sum += x + end + j += 1 +end + +puts sum diff --git a/003.rb b/003.rb new file mode 100644 index 0000000..3eb87fa --- /dev/null +++ b/003.rb @@ -0,0 +1,13 @@ +def prime_factor(x) + i=2 + while i<=Math.sqrt(x) + if x % i == 0 + return [i] << prime_factor( x / i ) + end + i += 1 + end + return [x] +end + +puts prime_factor(600851475143) +# puts prime_factor(13195) diff --git a/004.rb b/004.rb new file mode 100644 index 0000000..6794ba5 --- /dev/null +++ b/004.rb @@ -0,0 +1,19 @@ +def palindrome + palin=[] + x=999 + while x>100 + y=999 + while y>x + z=x*y + s=z.to_s + if s == s.reverse + palin <<= s + end + y -= 1 + end + x -= 1 + end + palin.sort +end + +puts palindrome diff --git a/005.rb b/005.rb new file mode 100644 index 0000000..5663fd7 --- /dev/null +++ b/005.rb @@ -0,0 +1,23 @@ +def check(n) + (2..20).each do |x| + return false if n % x != 0 + end + return true +end + +def prime_factor(x) + i=2 + while i<= Math.sqrt(x) + if x%i == 0 + if check(x/i) + return prime_factor(x/i) + end + end + i += 1 + end + return x +end + +n=2*3*4*5*6*7*8*9*10*11*12*13*14*15*16*17*18*19*20 +puts n +puts prime_factor(n) diff --git a/006.rb b/006.rb new file mode 100644 index 0000000..b99f3e3 --- /dev/null +++ b/006.rb @@ -0,0 +1,17 @@ +def sum_of_square(n) + sum=0 + (1..n).each do |x| + sum+=x**2 + end + sum +end + +def square_of_sum(n) + sum=0 + (1..n).each do |x| + sum+=x + end + sum**2 +end + +puts square_of_sum(100) - sum_of_square(100) diff --git a/007.rb b/007.rb new file mode 100644 index 0000000..d15c38b --- /dev/null +++ b/007.rb @@ -0,0 +1,27 @@ +class NthPrime + def initialize + @t=[] + end + def is_prime(n) + @t.each do |x| + return false if n % x == 0 + end + return true + end + + def findXthPrime(x) + i=2 + while @t.length 5 + t=t[1..6] + end + mul=1 + t.each { |x| mul=mul*x } + if mul > max + max=mul + puts max + end +end +puts max diff --git a/009.rb b/009.rb new file mode 100644 index 0000000..e177cf4 --- /dev/null +++ b/009.rb @@ -0,0 +1,27 @@ +def check (a,b,c) + puts %{#{a} #{b} #{c} = #{a**2 + b**2 + c**2}} + return ( a**2 + b**2 == c**2 ) +end + +# a < b < c +a=1000 +b=0 +c=0 +while not check(c,b,a) + if c +#include +#include + +#define YES 1 +#define NO 0 + +int main(int argc, char *argv[]) { + int limit=2000000; + int i,m; + int crosslimit=sqrt(2000000); + char *sieve=(char *)malloc(sizeof(char)*limit); + double sum; + + for (i=0;i +#include + +#define YES 1 +#define NO 0 + +int t[300000]; +int tlen=0; + +char is_prime(int n) { + int i; + for (i=0; iEJ0L~aeHc!*DO#iwZae{Q6-j$ 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 eRwH$5>wH}y+v@JH>~K21-`CzFmax + max=prod + end + end + # print "\n" + end +end + +# Vertical +(0..matrix.length-size).each do |ligne| + (0..(matrix[ligne].length - 1)).each do |col| + prod=1 + (0..size-1).each do |i| + prod = prod * matrix[ligne+i][col] + # print matrix[ligne][col+i].to_s + " " + if prod>max + max=prod + end + end + end +end + +# Diagonal positive +(0..matrix.length-size).each do |ligne| + (0..(matrix[ligne].length - size)).each do |col| + prod=1 + (0..size-1).each do |i| + prod = prod * matrix[ligne+i][col+i] + # print matrix[ligne][col+i].to_s + " " + if prod>max + max=prod + end + end + end +end + +# Diagonal negative +(0..matrix.length-size).each do |ligne| + (size..(matrix[ligne].length - 1)).each do |col| + prod=1 + (0..size-1).each do |i| + prod = prod * matrix[ligne+i][col-i] + # print matrix[ligne][col+i].to_s + " " + if prod>max + max=prod + end + end + end +end + +puts max diff --git a/012.rb b/012.rb new file mode 100644 index 0000000..54fe7f8 --- /dev/null +++ b/012.rb @@ -0,0 +1,157 @@ +# 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 factors of the first seven triangle numbers: +# +# 1: 1 +# 3: 1,3 +# 6: 1,2,3,6 +# 10: 1,2,5,10 +# 15: 1,3,5,15 +# 21: 1,3,7,21 +# 28: 1,2,4,7,14,28 +# +# We can see that 28 is the first triangle number to have over five divisors. +# +# What is the value of the first triangle number to have over five hundred divisors? +# +# ---- +# +# k = n(n+1)/2 +# p != 2 && p|n => p|k +# p != 2 && p|n+1 => p|k +# +# p|k => p|n v p|n+1 +# +# ex: k=1+2+3+4+5+6+7 = 7x8/2 = 7*2^2 => 1, 2,2^2,7,2*7, 2*2*7 +# all possible combinations +# +# 0, {2}, {7}, {2,2}, {2,7}, {2,2,7} +# +# see : https://secure.wikimedia.org/wikipedia/en/wiki/Multiset +# for and explanation of multiset coefficients +# +# Méthode: 1 trouver la decomposition en nombre premiers de n puis de n+1 +# enlever une puissance de deux à celui des deux qui est pair +# +# puis le nombre d'élément est une combinaison +# +# + +number=500 +nbprimes=200000 + +class PrimeGenerator + attr_accessor :limit + attr_accessor :primes + + def initialize(limit=100000) + @limit=limit + self.generate + end + + def generate + crosslimit=Math.sqrt(limit); + sieve=[0]*limit; + i=0; + while in + + j=1 # powerfactor + while ( n % (p**j) == 0 ) + j+=1 + end + res[i]=j-1 + + i+=1 + end + return res +end + +def nb_multi_subset( multiset ) + nb=1 + multiset.each do |n| + nb *= n+1 + end + return nb +end + +def nbdiv(n) + if n%2 == 0 + x=n/2 + y=n+1 + else + x=n + y=(n+1)/2 + end + + res=decomposition_prime(x) + res2=decomposition_prime(y) + + # puts "==" + # puts x + # puts res.to_s + # puts y + # puts res2.to_s + # puts "==" + + i=0 + while i= number + notfound=false + break + end + n+=1 +end +puts n*(n+1)/2 diff --git a/013.rb b/013.rb new file mode 100644 index 0000000..844f00f --- /dev/null +++ b/013.rb @@ -0,0 +1,109 @@ +data=%{37107287533902102798797998220837590246510135740250 +46376937677490009712648124896970078050417018260538 +74324986199524741059474233309513058123726617309629 +91942213363574161572522430563301811072406154908250 +23067588207539346171171980310421047513778063246676 +89261670696623633820136378418383684178734361726757 +28112879812849979408065481931592621691275889832738 +44274228917432520321923589422876796487670272189318 +47451445736001306439091167216856844588711603153276 +70386486105843025439939619828917593665686757934951 +62176457141856560629502157223196586755079324193331 +64906352462741904929101432445813822663347944758178 +92575867718337217661963751590579239728245598838407 +58203565325359399008402633568948830189458628227828 +80181199384826282014278194139940567587151170094390 +35398664372827112653829987240784473053190104293586 +86515506006295864861532075273371959191420517255829 +71693888707715466499115593487603532921714970056938 +54370070576826684624621495650076471787294438377604 +53282654108756828443191190634694037855217779295145 +36123272525000296071075082563815656710885258350721 +45876576172410976447339110607218265236877223636045 +17423706905851860660448207621209813287860733969412 +81142660418086830619328460811191061556940512689692 +51934325451728388641918047049293215058642563049483 +62467221648435076201727918039944693004732956340691 +15732444386908125794514089057706229429197107928209 +55037687525678773091862540744969844508330393682126 +18336384825330154686196124348767681297534375946515 +80386287592878490201521685554828717201219257766954 +78182833757993103614740356856449095527097864797581 +16726320100436897842553539920931837441497806860984 +48403098129077791799088218795327364475675590848030 +87086987551392711854517078544161852424320693150332 +59959406895756536782107074926966537676326235447210 +69793950679652694742597709739166693763042633987085 +41052684708299085211399427365734116182760315001271 +65378607361501080857009149939512557028198746004375 +35829035317434717326932123578154982629742552737307 +94953759765105305946966067683156574377167401875275 +88902802571733229619176668713819931811048770190271 +25267680276078003013678680992525463401061632866526 +36270218540497705585629946580636237993140746255962 +24074486908231174977792365466257246923322810917141 +91430288197103288597806669760892938638285025333403 +34413065578016127815921815005561868836468420090470 +23053081172816430487623791969842487255036638784583 +11487696932154902810424020138335124462181441773470 +63783299490636259666498587618221225225512486764533 +67720186971698544312419572409913959008952310058822 +95548255300263520781532296796249481641953868218774 +76085327132285723110424803456124867697064507995236 +37774242535411291684276865538926205024910326572967 +23701913275725675285653248258265463092207058596522 +29798860272258331913126375147341994889534765745501 +18495701454879288984856827726077713721403798879715 +38298203783031473527721580348144513491373226651381 +34829543829199918180278916522431027392251122869539 +40957953066405232632538044100059654939159879593635 +29746152185502371307642255121183693803580388584903 +41698116222072977186158236678424689157993532961922 +62467957194401269043877107275048102390895523597457 +23189706772547915061505504953922979530901129967519 +86188088225875314529584099251203829009407770775672 +11306739708304724483816533873502340845647058077308 +82959174767140363198008187129011875491310547126581 +97623331044818386269515456334926366572897563400500 +42846280183517070527831839425882145521227251250327 +55121603546981200581762165212827652751691296897789 +32238195734329339946437501907836945765883352399886 +75506164965184775180738168837861091527357929701337 +62177842752192623401942399639168044983993173312731 +32924185707147349566916674687634660915035914677504 +99518671430235219628894890102423325116913619626622 +73267460800591547471830798392868535206946944540724 +76841822524674417161514036427982273348055556214818 +97142617910342598647204516893989422179826088076852 +87783646182799346313767754307809363333018982642090 +10848802521674670883215120185883543223812876952786 +71329612474782464538636993009049310363619763878039 +62184073572399794223406235393808339651327408011116 +66627891981488087797941876876144230030984490851411 +60661826293682836764744779239180335110989069790714 +85786944089552990653640447425576083659976645795096 +66024396409905389607120198219976047599490197230297 +64913982680032973156037120041377903785566085089252 +16730939319872750275468906903707539413042652315011 +94809377245048795150954100921645863754710598436791 +78639167021187492431995700641917969777599028300699 +15368713711936614952811305876380278410754449733078 +40789923115535562561142322423255033685442488917353 +44889911501440648020369068063960672322193204149535 +41503128880339536053299340368006977710650566631954 +81234880673210146739058568557934581403627822703280 +82616570773948327592232845941706525094512325230608 +22918802058777319719839450180888072429661980811197 +77158542502016545090413245809786882778948721859617 +72107838435069186155435662884062257473692284509516 +20849603980134001723930671666823555245252804609722 +53503534226472524250874054075591789781264330331690} + +numbers=data.split("\n").collect! { |x| x.to_i } + +sum=0 +numbers.each do |c| + sum+=c +end + +puts sum.to_s[0..9] diff --git a/014.rb b/014.rb new file mode 100644 index 0000000..027eeea --- /dev/null +++ b/014.rb @@ -0,0 +1,61 @@ +description=%{ + 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 → 2 → 1 + + It can be seen that this sequence (starting at 13 and finishing at 1) contains 10 terms. Although it has not been proved yet (Collatz Problem), it is thought that all starting numbers finish at 1. + + Which starting number, under one million, produces the longest chain? + + NOTE: Once the chain starts the terms are allowed to go above one million. +} + +num=1000000 +$seq={} + +$seq[1]=1 + +def u(n) + # puts %{u(#{n})*} + if not $seq[n].nil? + # puts %{n=#{n} len=#{$seq[n]}*} + return $seq[n] + end + + if n%2 == 0 + $seq[n]=u(n/2)+1 + else + $seq[n]=u((3*n) + 1)+ 1 + end + # puts %{n=#{n} len=#{$seq[n]}} + return $seq[n] +end + +(1..num).each do |n| + # puts "====== u(#{n}) ========" + u(n) +end +max=0 +number=0 +$seq.each do |k,v| + if k<=1000000 and v>max + max=v + number=k + end +end + +x=number +while number != 1 do + puts number + if number%2 == 0 + number=number/2 + else + number=(3*number)+1 + end +end + +puts "First number = #{x}, length of sequence = #{max}" diff --git a/015.rb b/015.rb new file mode 100644 index 0000000..33b4c95 --- /dev/null +++ b/015.rb @@ -0,0 +1,60 @@ +descr=%{ + Starting in the top left corner of a 2×2 grid, there are 6 routes (without backtracking) to the bottom right corner. + + 1) 00 01 02 12 22 + 2) 00 01 11 12 22 + 3) 00 01 11 21 22 + 4) 00 10 11 12 22 + 5) 00 10 11 21 22 + 6) 00 10 20 21 22 + + How many routes are there through a 20×20 grid? +} + +reflexion=%# + coordinates at time t are (x_t,y_t) + We have: + 0 <= x_t <= n + 0 <= y_t <= n + x_{t+1} + y_{t+1} = x_t + y_t + 1 + x_{t+1} >= x_t + y_{t+1} >= y_t + + In order to have a computable recursive content, we need to extend + this reasonment to rectangles nxm. + + nb(0,n)=1 + nb(n,0)=1 + nb( 1,1 ) = nb(0,1) + nb(1,0) + + nb(n,m)=nb(m,n) +# + +number=20 +$mem=[] +(0..number).each do |i| + $mem <<= [] + (0..number).each do |j| + $mem[i] <<= 0 + end +end + +def nb(n,m) + if (m>n) + tmp=n + n=m + m=tmp + end + if $mem[n][m] != 0 + return $mem[n][m] + end + if n==0 or m==0 + $mem[n][m]=1 + return 1 + end + $mem[n][m] = nb(n-1,m) + nb(n,m-1) + return $mem[n][m] +end + +puts nb(number,number) +p $mem diff --git a/017.rb b/017.rb new file mode 100644 index 0000000..2a19fbb --- /dev/null +++ b/017.rb @@ -0,0 +1,85 @@ +descr=%{ + 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 letters would be used? + + NOTE: Do not count spaces or hyphens. For example, 342 (three hundred and forty-two) contains 23 letters and 115 (one hundred and fifteen) contains 20 letters. The use of "and" when writing out numbers is in compliance with British usage. +} + +reflexion=%{ + let n be the number of letter used to write number from 1 to 99 + then the number of letter used to write 1 to 1000 would be: + + one hundred and * n + two hundred and * n + ... + ninety nine hundred and * n + + that would be +} + +def write_tenth(name,n) + if n%10 == 0 + return name + else + return name + "-" + write_natural(n%10) + end +end + +def write_natural(n) + # print "write_natural: #{n}" + if n<100 + case n + when 1 then return "one" + when 2 then return "two" + when 3 then return "three" + when 4 then return "four" + when 5 then return "five" + when 6 then return "six" + when 7 then return "seven" + when 8 then return "eight" + when 9 then return "nine" + when 10 then return "ten" + when 11 then return "eleven" + when 12 then return "twelve" + when 13 then return "thirteen" + when 14 then return "fourteen" + when 15 then return "fifteen" + when 16..17 then return write_natural(n-10) + "teen" + when 18 then return "eighteen" + when 19 then return "nineteen" + when 20..29 then return write_tenth("twenty" , n) + when 30..39 then return write_tenth("thirty" , n) + when 40..49 then return write_tenth("forty" , n) + when 50..59 then return write_tenth("fifty" , n) + when 60..69 then return write_tenth("sixty" , n) + when 70..79 then return write_tenth("seventy", n) + when 80..89 then return write_tenth("eighty", n) + when 90..99 then return write_tenth("ninety" , n) + else return "" + end + elsif n<1000 + m=(n/100).floor + if n%100 == 0 + return write_natural(m) + " hundred" + else + return write_natural(m * 100) + " and " + write_natural( n % 100 ) + end + elsif n == 1000 + m=(n/1000).floor + if n%1000 == 0 + return write_natural((n/1000).floor) + " thousand " + else + return write_natural(m * 1000) + " and " + write_natural( n % 1000 ) + end + end +end + +res="" +(1..1000).each do |i| + print i.to_s+" " + puts write_natural(i) + res<<=write_natural(i) +end + +puts res.gsub(/[ -]/,"").length diff --git a/018.rb b/018.rb new file mode 100644 index 0000000..f731119 --- /dev/null +++ b/018.rb @@ -0,0 +1,88 @@ +description=%{ + 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 4 + 2 4 6 + 8 5 9 3 + + That is, 3 + 7 + 4 + 9 = 23. + + Find the maximum total from top to bottom of the triangle below: + + 75 + 95 64 + 17 47 82 + 18 35 87 10 + 20 04 82 47 65 + 19 01 23 75 03 34 + 88 02 77 73 07 63 67 + 99 65 04 28 06 16 70 92 + 41 41 26 56 83 40 80 70 33 + 41 48 72 33 47 32 37 16 94 29 + 53 71 44 65 25 43 91 52 97 51 14 + 70 11 33 28 77 73 17 78 39 68 17 57 + 91 71 52 38 17 14 91 43 58 50 27 29 48 + 63 66 04 68 89 53 67 30 73 16 69 87 40 31 + 04 62 98 27 23 09 70 98 73 93 38 53 60 04 23 + + NOTE: As there are only 16384 routes, it is possible to solve this problem by trying every route. However, Problem 67, is the same challenge with a triangle containing one-hundred rows; it cannot be solved by brute force, and requires a clever method! ;o) + +} + +reflexion=%{ + use bottom to top method + + z + x y chose max(x,y) path for z, new triangle = z + max(x,y) +} + +data_test=%{3 +7 4 +2 4 6 +8 5 9 3} +data=%{75 +95 64 +17 47 82 +18 35 87 10 +20 04 82 47 65 +19 01 23 75 03 34 +88 02 77 73 07 63 67 +99 65 04 28 06 16 70 92 +41 41 26 56 83 40 80 70 33 +41 48 72 33 47 32 37 16 94 29 +53 71 44 65 25 43 91 52 97 51 14 +70 11 33 28 77 73 17 78 39 68 17 57 +91 71 52 38 17 14 91 43 58 50 27 29 48 +63 66 04 68 89 53 67 30 73 16 69 87 40 31 +04 62 98 27 23 09 70 98 73 93 38 53 60 04 23} + +triangle=data.split("\n").collect! { |line| line.split(" ").collect! {|n| n.to_i} }.reverse! + +p triangle + + +def max(x,y) + return x if x>y + return y +end + +nbline=0 +triangle.each do |line| + if nbline==0 + nbline +=1 + next + end + col=0 + line.each do |n| + triangle[nbline][col] = + n + max( triangle[nbline-1][col], + triangle[nbline-1][col+1] ) + col +=1 + end + nbline+=1 + puts '===' + p triangle +end +p triangle +puts triangle[-1][0] diff --git a/019.rb b/019.rb new file mode 100644 index 0000000..1db8b9a --- /dev/null +++ b/019.rb @@ -0,0 +1,44 @@ +descr=%{ +You are given the following information, +but you may prefer to do some research for yourself. + + * 1 Jan 1900 was a Monday. + * Thirty days has September, + April, June and November. + All the rest have thirty-one, + Saving February alone, + Which has twenty-eight, rain or shine. + And on leap years, twenty-nine. + * A leap year occurs on any year evenly divisible by 4, + but not on a century unless it is divisible by 400. + +How many Sundays fell on the first of the month during the +twentieth century (1 Jan 1901 to 31 Dec 2000)? +} + +nbdaysbymonth=[31,28,31,30,31,30,31,31,30,31,30,31] + +# 0 Monday, ... , 6 Sunday +day_of_month=0 +nb_sunday=0 +(1900..2000).each do |year| + is_leap = ( year % 4 == 0 ) + if ( year % 100 == 0 ) && ( year % 400 != 0 ) + is_leap = false + end + if is_leap + nbdaysbymonth[1]=29 + else + nbdaysbymonth[1]=28 + end + (0..11).each do |month| + # puts "1st #{month+1}/#{year} = #{day_of_month}" + if day_of_month == 6 && year >= 1901 + puts "* #{month+1}/#{year}" + nb_sunday += 1 + end + day_of_month = ( day_of_month + nbdaysbymonth[month] ) % 7 + end +end + +puts nb_sunday diff --git a/020.rb b/020.rb new file mode 100644 index 0000000..5441dc3 --- /dev/null +++ b/020.rb @@ -0,0 +1,6 @@ +def fact(x) + return 1 if x<=1 + return x*fact(x-1) +end +puts fact(100).to_s.split("").collect! { |x| x.to_i }.inject(0) {|sum,v| sum+v} + diff --git a/021.rb b/021.rb new file mode 100644 index 0000000..67f88ac --- /dev/null +++ b/021.rb @@ -0,0 +1,32 @@ +descr=%{ + Let d(n) be defined as the sum of proper divisors of n (numbers less than n which divide evenly into n). + If d(a) = b and d(b) = a, where a ≠ b, then a and b are an amicable pair and each of a and b are called amicable numbers. + + For example, the proper divisors of 220 are 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 and 110; therefore d(220) = 284. The proper divisors of 284 are 1, 2, 4, 71 and 142; so d(284) = 220. + + Evaluate the sum of all the amicable numbers under 10000. +} + +def d(n) + sum=0 + (1..n/2).each do |i| + if n % i == 0 + sum += i + end + end + return sum +end + +h={} +(1..10000).each do |n| + h[n]=d(n) +end + +sum=0 +h.each do |n,m| + if h[m] == n && n != m + puts "#{m}\t#{n}" + sum+=n + end +end +puts sum diff --git a/022.rb b/022.rb new file mode 100644 index 0000000..1790c7d --- /dev/null +++ b/022.rb @@ -0,0 +1,26 @@ +%{ + Using names.txt (right click and 'Save Link/Target As...'), a 46K text file containing over five-thousand first names, begin by sorting it into alphabetical order. Then working out the alphabetical value for each name, multiply this value by its alphabetical position in the list to obtain a name score. + + For example, when the list is sorted into alphabetical order, COLIN, which is worth 3 + 15 + 12 + 9 + 14 = 53, is the 938th name in the list. So, COLIN would obtain a score of 938 × 53 = 49714. + + What is the total of all the name scores in the file? +} + +v=File.read("names.txt") +list=v.sub(/\n/,'').gsub('"','').split(',').sort + +i=0 +sum=0 +list.each do |name| + i+=1 + val=0 + name.each_byte do |letter| + val += letter + 1 - 'A'[0] + end + score = val * i + sum+=score + puts "#{name} (#{i}) * #{val} = #{score}" +end + +puts sum + diff --git a/023.rb b/023.rb new file mode 100644 index 0000000..8a92cf2 --- /dev/null +++ b/023.rb @@ -0,0 +1,69 @@ +descr=%{ + 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 number n is called deficient if the sum of its proper divisors is less than n and it is called abundant if this sum exceeds n. + + As 12 is the smallest abundant number, 1 + 2 + 3 + 4 + 6 = 16, the smallest number that can be written as the sum of two abundant numbers is 24. By mathematical analysis, it can be shown that all integers greater than 28123 can be written as the sum of two abundant numbers. However, this upper limit cannot be reduced any further by analysis even though it is known that the greatest number that cannot be expressed as the sum of two abundant numbers is less than this limit. + + Find the sum of all the positive integers which cannot be written as the sum of two abundant numbers. +} + +def sum_of_divisors(n) + sum=1 + p=2 + while p**2 <= n and n>1 + if n % p == 0 + j=p**2 + n = n/p + while n%p == 0 + j = j*p + n = n / p + end + sum=sum*(j-1) + sum=sum / (p-1) + end + if p == 2 + p=3 + else + p=p+2 + end + end + if n>1 + sum *= n+1 + end + return sum +end + +def sum_of_proper_divisors(n) + return sum_of_divisors(n) - n +end + +abd_numbers=[] +is_abd={} +(1..28123).each do |n| + d=sum_of_proper_divisors(n) + if d>n + abd_numbers <<= n + is_abd[n]=d + end +end + +sum=0 +(1..28123).each do |n| + skip=false + abd_numbers.each do |i| + if i>=n + break + end + if not is_abd[ n-i ].nil? + skip=true + next + end + end + if skip + next + end + puts n + sum += n +end +puts sum diff --git a/024.rb b/024.rb new file mode 100644 index 0000000..79f3ad7 --- /dev/null +++ b/024.rb @@ -0,0 +1,36 @@ +descr=%{ + 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 lexicographic permutations of 0, 1 and 2 are: + + 012 021 102 120 201 210 + + What is the millionth lexicographic permutation of the digits 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9? +} + +numbers=[] +(0..9).each do |n| + numbers <<= n +end + +$nb = 0 +$target = 1000000 + +def permute( tab, pref) + if tab.length == 0 + $nb += 1 + if $nb % 10000 == 0 + puts %{#{$nb}: #{pref.join(" ")}} + end + if $nb == $target + puts %{RESULT: #{$nb}: #{pref.join(" ")}} + exit + end + return + end + tab.each do |e| + subtab=tab.clone + subtab.delete(e) + permute( subtab, pref + [e] ) + end +end + +permute( numbers,[] ) diff --git a/025.rb b/025.rb new file mode 100644 index 0000000..f2b44ff --- /dev/null +++ b/025.rb @@ -0,0 +1,38 @@ +descr=%{ + 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) = 21 + F_(9) = 34 + F_(10) = 55 + F_(11) = 89 + F_(12) = 144 + + The 12th term, F_(12), is the first term to contain three digits. + + What is the first term in the Fibonacci sequence to contain 1000 digits? +} + +n=3 +i=1 +j=1 +f=i+j +while f.to_s.length<1000 +# while n<5 + n+=1 + i=j + j=f + f=i+j + # puts %{#{n}, #{f}} +end +puts n diff --git a/026.rb b/026.rb new file mode 100644 index 0000000..11029b4 --- /dev/null +++ b/026.rb @@ -0,0 +1,62 @@ +descr=%{ + A unit fraction contains 1 in the numerator. The decimal representation of the unit fractions with denominators 2 to 10 are given: + + ^(1)/_(2) = 0.5 + ^(1)/_(3) = 0.(3) + ^(1)/_(4) = 0.25 + ^(1)/_(5) = 0.2 + ^(1)/_(6) = 0.1(6) + ^(1)/_(7) = 0.(142857) + ^(1)/_(8) = 0.125 + ^(1)/_(9) = 0.(1) + ^(1)/_(10) = 0.1 + + Where 0.1(6) means 0.166666..., and has a 1-digit recurring cycle. It can be seen that ^(1)/_(7) has a 6-digit recurring cycle. + + Find the value of d < 1000 for which ^(1)/_(d) contains the longest recurring cycle in its decimal fraction part. +} + +reflexion=%{ + simulate the manual division + + 10 | 7 + 30 |----------- + 20 | 0,142... + ... +} + +def _rec_cycle_frac(n,m,rests,i) + return 0 if n==0 + # print "\t_rec_cycle_frac " + # p [n, m, rests, i] + + if n < m + rests[n*10]=i + return _rec_cycle_frac(n*10,m,rests,i+1) + end + + num=(n%m) * 10 + if not rests[num].nil? + # puts "[RES] not rest[#{num}].nil? => #{rests[num]}; #{i}-#{rests[num]}=#{i- rests[num]}" + return i - rests[num] + end + rests[num]=i + return _rec_cycle_frac( num, m, rests, i+1 ) +end + +def size_of_rec_cycle_of_frac(n,m) + return _rec_cycle_frac(n,m,{},0) +end + +max=0 +best=0 +(1..1000).each do |m| + n=size_of_rec_cycle_of_frac(1,m) + if n>max + best=m + max=n + end + puts "1/#{m}: #{n}" +end + +puts "#{best} #{max}" diff --git a/027.rb b/027.rb new file mode 100644 index 0000000..bd049cb --- /dev/null +++ b/027.rb @@ -0,0 +1,60 @@ +descr=%{ + Euler published the remarkable quadratic formula: + + n² + n + 41 + + It turns out that the formula will produce 40 primes for the consecutive values n = 0 to 39. However, when n = 40, 40^(2) + 40 + 41 = 40(40 + 1) + 41 is divisible by 41, and certainly when n = 41, 41² + 41 + 41 is clearly divisible by 41. + + Using computers, the incredible formula n² − 79n + 1601 was discovered, which produces 80 primes for the consecutive values n = 0 to 79. The product of the coefficients, −79 and 1601, is −126479. + + Considering quadratics of the form: + + n² + an + b, where |a| < 1000 and |b| < 1000 + + where |n| is the modulus/absolute value of n + e.g. |11| = 11 and |−4| = 4 + + Find the product of the coefficients, a and b, for the quadratic expression that produces the maximum number of primes for consecutive values of n, starting with n = 0. +} + +thoughts=%{ + compute a huge number of prime and test using it +} + +puts "read prime numbers" +prime=File.read('firsts_10MM_primes.txt').split.collect! { |i| i.to_i } +is_prime={} +prime.each do |p| + is_prime[p]=true +end + +puts "begin computation" + +max=0 +besta=0 +bestb=0 + +def is_prime_number(num,is_prime) + if num>10000000 + puts "may an error for #{num}" + end + return is_prime[num] +end + +(-1000..1000).each do |a| + (-1000..1000).each do |b| + n=0 + while is_prime_number( n**2 + a*n + b , is_prime) + n+=1 + end + if n>max + max=n + besta=a + bestb=b + puts "#{besta} #{bestb} => #{max}" + end + end +end + +puts "#{besta} #{bestb} => #{max}" +puts "product= #{besta * bestb}" diff --git a/028.rb b/028.rb new file mode 100644 index 0000000..6e077d5 --- /dev/null +++ b/028.rb @@ -0,0 +1,41 @@ +descr=%{ + Starting with the number 1 and moving to the right in a clockwise direction a 5 by 5 spiral is formed as follows: + + 21 22 23 24 25 + 20 7 8 9 10 + 19 6 1 2 11 + 18 5 4 3 12 + 17 16 15 14 13 + + It can be verified that the sum of the numbers on the diagonals is 101. + + What is the sum of the numbers on the diagonals in a 1001 by 1001 spiral formed in the same way? +} + +reflexion=%{ + We can remark: + + 1 + + + (1+2) + (1+2*2) + (1+3*2) + (1+4*2) + + // let x be the last calulcated number (1+4*2) + (x+4) + (x+2*4) + (x+3*4) + (x+4*4) + + // let y be the last calulcated number (x+4*4) + (y+6) + (y+2*6) + (y+3*6) + (y+4*6) + + ... +} + +size=1001 +max=size**2 +n=1 +sum=0 +step=2 +while n 9^4 + ... + 9^4 < 33000 + and as number is an exponential function depending on the number of digits and power function is less (in the end) than this function. For each n there is always a maximal value. + + now using the same reasonment for the power 5 we see the maximal value will have at most 6 digits (9^5 * 6 < 999999) +} + +pow=5 +list=[] +(10..1000000).each do |n| + sum=0 + n.to_s.each_byte do |b| + sum+=( b - "0"[0] )**pow + end + if n == sum + puts "#{n}" + list<<=n + end +end + +puts "Sum=" + list.inject(0) { |sum,x| sum+x }.to_s diff --git a/031.rb b/031.rb new file mode 100644 index 0000000..b0d5527 --- /dev/null +++ b/031.rb @@ -0,0 +1,40 @@ +descr=%{ +In England the currency is made up of pound, £, and pence, p, and there are eight coins in general circulation: + + 1p, 2p, 5p, 10p, 20p, 50p, £1 (100p) and £2 (200p). + +It is possible to make £2 in the following way: + + 1×£1 + 1×50p + 2×20p + 1×5p + 1×2p + 3×1p + +How many different ways can £2 be made using any number of coins? +} + +def _nb_case(n,choices) + # print "#{n}, " + # p choices + if n<0 + return 0 + end + if n==0 + return 1 + end + + sum=0 + subchoice=choices.clone + choices.each do |p| + break if p>n + sum += _nb_case(n-p, subchoice) + subchoice.shift + end + return sum +end + +def nb_case(n) + return _nb_case(n,[1,2,5,10,20,50,100,200]) +end + +(200..200).each do |n| + print "# #{n}: " + puts nb_case(n) +end diff --git a/032.rb b/032.rb new file mode 100644 index 0000000..9cccf4f --- /dev/null +++ b/032.rb @@ -0,0 +1,42 @@ +descr=%{ + We shall say that an n-digit number is pandigital if it makes use of all the digits 1 to n exactly once; for example, the 5-digit number, 15234, is 1 through 5 pandigital. + + The product 7254 is unusual, as the identity, 39 × 186 = 7254, containing multiplicand, multiplier, and product is 1 through 9 pandigital. + + Find the sum of all products whose multiplicand/multiplier/product identity can be written as a 1 through 9 pandigital. + HINT: Some products can be obtained in more than one way so be sure to only include it once in your sum. +} + +pand={} + +$numbers=%q(123456789).split('').sort + +def is_pandigital(str) + return str.split('').sort == $numbers +end + +(1..10000).each do |n| + (n..10000).each do |m| + str=n.to_s+m.to_s+(n*m).to_s + # puts "#{n} x #{m} = #{n*m}" + # puts str + if str.length > 9 + break + end + if str.length == 9 + if is_pandigital(str) + puts "# #{n*m}" + pand[n*m]=true + end + end + end +end + +sum=0 +puts "solution" +pand.each do |p,v| + puts p + sum+=p +end + +puts "Sum: " + sum.to_s diff --git a/033.rb b/033.rb new file mode 100644 index 0000000..9d34c8f --- /dev/null +++ b/033.rb @@ -0,0 +1,36 @@ +descr=%{ + The fraction ^(49)/_(98) is a curious fraction, as an inexperienced mathematician in attempting to simplify it may incorrectly believe that ^(49)/_(98) = ^(4)/_(8), which is correct, is obtained by cancelling the 9s. + + We shall consider fractions like, ^(30)/_(50) = ^(3)/_(5), to be trivial examples. + + There are exactly four non-trivial examples of this type of fraction, less than one in value, and containing two digits in the numerator and denominator. + + If the product of these four fractions is given in its lowest common terms, find the value of the denominator. +} + +# n/m +res=[] +(10..99).each do |n| + (n+1..99).each do |m| + next if n%10 == 0 and m%10 == 0 + next if n%11 == 0 and m%11 == 0 + nb_first=0 + n.to_s.split('').each do |c| + newn=c.to_i + nb_first+=1 + nb_second=0 + m.to_s.split('').each do |d| + nb_second += 1 + next if nb_first == nb_second + newm=d.to_i + if newm == 0 + next + end + if n.to_f/m == newn.to_f/newm + res <<= [n,m,newn,newm] + puts %{#{n}/#{m} = #{newn}/#{newm}} + end + end + end + end +end diff --git a/034.rb b/034.rb new file mode 100644 index 0000000..9959421 --- /dev/null +++ b/034.rb @@ -0,0 +1,45 @@ +descr=%{ + 145 is a curious number, as 1! + 4! + 5! = 1 + 24 + 120 = 145. + + Find the sum of all numbers which are equal to the sum of the factorial of their digits. + + Note: as 1! = 1 and 2! = 2 are not sums they are not included. +} + +thoughts=%{ + the difficulty remains in finding a maximum number after which + + n>N => n cannot be written as the sum of a factorial of its digits. + + the max is attained by number containing only 9 + + limit is obtained when: n*9! > 10^n +} + +def fact(n) + return 1 if n <= 1 + return n*fact(n-1) +end + + +def sum_of_facts_of_digits(n) + sum=0 + n.to_s.split('').collect { |i| sum += fact(i.to_i) } + return sum +end + +n=1 +while sum_of_facts_of_digits(('9'*n).to_i) > 10**n + n+=1 +end +n-=1 + +sum=0 +(10..10**n).each do |i| + if sum_of_facts_of_digits(i) == i + puts i + sum+=i + end +end + +puts "Solution: #{sum}" diff --git a/035.rb b/035.rb new file mode 100644 index 0000000..22e3b91 --- /dev/null +++ b/035.rb @@ -0,0 +1,39 @@ +descr=%{ + The number, 197, is called a circular prime because all rotations of the digits: 197, 971, and 719, are themselves prime. + + There are thirteen such primes below 100: 2, 3, 5, 7, 11, 13, 17, 31, 37, 71, 73, 79, and 97. + + How many circular primes are there below one million? +} + +puts "Read primes" +primes=File.read("firsts_1MM_primes.txt").split().collect! { |p| p.to_i } +is_prime={} + +puts "Init datastructure" +primes.each do |p| + is_prime[p]=true +end + +puts "search circulars" +circular=[] +primes.each do |p| + arr=p.to_s.split('') + len=arr.length + number=arr.join('').to_i + i=0 + # puts "#{len} #{number} #{i}" + while i #{number}" + i+=1 + end + if i==len + puts "circular #{p}" + circular <<= p + end +end + +puts "NB: #{circular.length}" diff --git a/036.rb b/036.rb new file mode 100644 index 0000000..27cd0aa --- /dev/null +++ b/036.rb @@ -0,0 +1,16 @@ +descr=%{ + The decimal number, 585 = 1001001001_(2) (binary), is palindromic in both bases. + + Find the sum of all numbers, less than one million, which are palindromic in base 10 and base 2. + + (Please note that the palindromic number, in either base, may not include leading zeros.) +} +sum=0 +(0..1000000).each do |n| + if n.to_s == n.to_s.reverse && n.to_s(2) == n.to_s(2).reverse + sum+=n + puts n + end +end + +puts "\nSum: #{sum}" diff --git a/037.rb b/037.rb new file mode 100644 index 0000000..bc9bbf1 --- /dev/null +++ b/037.rb @@ -0,0 +1,55 @@ +descr=%{ + The number 3797 has an interesting property. Being prime itself, it is possible to continuously remove digits from left to right, and remain prime at each stage: 3797, 797, 97, and 7. Similarly we can work from right to left: 3797, 379, 37, and 3. + + Find the sum of the only eleven primes that are both truncatable from left to right and right to left. + + NOTE: 2, 3, 5, and 7 are not considered to be truncatable primes. +} + + +puts "Read primes" +primes=File.read("firsts_1MM_primes.txt").split().collect! { |p| p.to_i } +is_prime={} + +puts "Init datastructure" +primes.each do |p| + is_prime[p]=true +end + +puts "search truncatable left to right and right to left" +truncatable=[] +primes.each do |p| + # verify if it is truncatable + next if p<10 + # puts p + not_truncatable=false + str=p.to_s.split('') + while str.length > 1 + str.pop + num=str.join('').to_i + # puts "> #{num}" + if not is_prime[num] + not_truncatable=true + break + end + end + next if not_truncatable + str=p.to_s.split('') + while str.length > 1 + str.shift() + num=str.join('').to_i + # puts "> #{num}" + if not is_prime[num] + not_truncatable=true + break + end + end + next if not_truncatable + puts "Trunkatable: #{p}" + truncatable<<=p + if truncatable.length == 11 + break + end +end + +puts "NB: #{truncatable.inject(0){|sum,n| sum+n}}" diff --git a/038.rb b/038.rb new file mode 100644 index 0000000..cd998ef --- /dev/null +++ b/038.rb @@ -0,0 +1,38 @@ +descr=%{ +Take the number 192 and multiply it by each of 1, 2, and 3: + + 192 × 1 = 192 + 192 × 2 = 384 + 192 × 3 = 576 + +By concatenating each product we get the 1 to 9 pandigital, 192384576. We will call 192384576 the concatenated product of 192 and (1,2,3) + +The same can be achieved by starting with 9 and multiplying by 1, 2, 3, 4, and 5, giving the pandigital, 918273645, which is the concatenated product of 9 and (1,2,3,4,5). + +What is the largest 1 to 9 pandigital 9-digit number that can be formed as the concatenated product of an integer with (1,2, ... , n) where n > 1? +} + +$numbers=%q(123456789).split('').sort +def is_pandigital(str) + return str.split('').sort == $numbers +end + +best=(123456789) +(2..10).each do |n| + concat_prod="" + base=1 + while concat_prod.length < 10 + concat_prod="" + (1..n).each do |i| + concat_prod <<= (base*i).to_s + end + if is_pandigital(concat_prod) + puts %{base=#{base} n=#{n} #{concat_prod}} + if concat_prod.to_i > best + best=concat_prod.to_i + puts %{* base=#{base} n=#{n} #{best}} + end + end + base += 1 + end +end diff --git a/039.rb b/039.rb new file mode 100644 index 0000000..e66fd9d --- /dev/null +++ b/039.rb @@ -0,0 +1,42 @@ +descr=%# + If p is the perimeter of a right angle triangle with integral length sides, {a,b,c}, there are exactly three solutions for p = 120. + + {20,48,52}, {24,45,51}, {30,40,50} + + For which value of p ≤ 1000, is the number of solutions maximised? +# + +best=0 +maxsol=0 +(5..1000).each do |p| + # find all {a,b,c} + # such that + # a<=b and a^2 + b^2 = c^2 + # and a+b+c = p + + nbsol=0 + # sqrtp=Math.sqrt(p).floor + (1..p).each do |a| + # a^2 + b^2 = c^2 => b^2 = c^2 - a^2 + # => b = sqrt( c^2 - a^2 ) + # + # a + b + c = p => b = p - c - a + # + (a..p).each do |b| + tmp=a**2 + b**2 + c = Math.sqrt(tmp) + break if a + b + c > p + next if a + b + c < p + next if c**2 != tmp + puts "#{p}: (#{a},#{b},#{c})" + nbsol += 1 + end + end + + if nbsol > maxsol + maxsol=nbsol + best=p + end +end + +puts "Best p = #{best} => #{maxsol}" diff --git a/040.rb b/040.rb new file mode 100644 index 0000000..7c6c666 --- /dev/null +++ b/040.rb @@ -0,0 +1,25 @@ +descr=%{ + An irrational decimal fraction is created by concatenating the positive integers: + + 0.123456789101112131415161718192021... + + It can be seen that the 12^(th) digit of the fractional part is 1. + + If d_(n) represents the n^(th) digit of the fractional part, find the value of the following expression. + + d_(1) × d_(10) × d_(100) × d_(1000) × d_(10000) × d_(100000) × d_(1000000) +} + +str="" +(1..(1000000)).each do |i| + str.concat(i.to_s) +end + +prod=1 +(0..6).each do |p| + digit=str[10**p - 1]-"0"[0] + puts digit + prod *= digit +end + +puts "Product = #{prod}" diff --git a/041.rb b/041.rb new file mode 100644 index 0000000..e8d8489 --- /dev/null +++ b/041.rb @@ -0,0 +1,43 @@ +descr=%{ + We shall say that an n-digit number is pandigital if it makes use of all the digits 1 to n exactly once. For example, 2143 is a 4-digit pandigital and is also prime. + + What is the largest n-digit pandigital prime that exists? +} + +thoughts=%{ + remark that all 9-digit pandigital number are not prime. + + 1 + ... + 9 = 45 which is divisible by 3 + + We don't need to search for prime pandigital superior to 10**8 + Also + + 1 = 1 + 1+2 = 3 => divisible by 3 + 1+2+3 = 6 => divisible by 3 + 1+2+3+4 = 10 + 1+2+3+4+5 = 15 => divisible by 3 + 1+ ... +6 = 21 => divisible by 3 + 1+ ... +7 = 28 + 1+ ... +8 = 36 => divisible by 3 + 1+ ... +9 = 45 => divisible by 3 + + Therefore at max there exists a 7-digit pandigital prime + if not only a 4-digit pandigital prime +} + +puts "Read primes" +primes=File.read("firsts_10MM_primes.txt").split() + +$numbers=%q(1234567).split('').sort +def is_pandigital(str) + return str.split('').sort == $numbers +end + +puts "Search pandigitals" +primes.each do |str| + next if str.length != 7 + if is_pandigital(str) + puts str + end +end diff --git a/042.rb b/042.rb new file mode 100644 index 0000000..46c607e --- /dev/null +++ b/042.rb @@ -0,0 +1,42 @@ +descr=%{ + The n^(th) term of the sequence of triangle numbers is given by, t_(n) = ½n(n+1); so the first ten triangle numbers are: + + 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ... + + By converting each letter in a word to a number corresponding to its alphabetical position and adding these values we form a word value. For example, the word value for SKY is 19 + 11 + 25 = 55 = t_(10). If the word value is a triangle number then we shall call the word a triangle word. + + Using words.txt (right click and 'Save Link/Target As...'), a 16K text file containing nearly two-thousand common English words, how many are triangle words? +} + +def is_triangle_number(k) + # k = n * (n+1) / 2 + # 2k = n * (n+1) + # n**2 + n - 2k = 0 + + # a=1 b=1 c=-2k + + delta=Math.sqrt(1 + 8*k) + sol1=( 1 + delta)/2 + sol2=( -1 + delta)/2 + + return true if sol1 == sol1.floor && sol1 > 0 + return true if sol2 == sol2.floor && sol2 > 0 + return false +end + +def is_triangle_word(w) + is_triangle_number( w.split('').inject(0) {|sum,c| sum += c[0] +1- "A"[0]} ) +end + +# test +# (1..55).each { |x| puts x.to_s + ": " + is_triangle_word(x).to_s } + +# puts is_triangle_word("SKY") + +words=File.read("words.txt").sub(/\n/,'').gsub('"','').split(',') +sum=0 +words.each do |w| + sum += 1 if is_triangle_word(w) +end + +puts sum diff --git a/043.rb b/043.rb new file mode 100644 index 0000000..9f06684 --- /dev/null +++ b/043.rb @@ -0,0 +1,95 @@ +descr=%{ + The number, 1406357289, is a 0 to 9 pandigital number because it is made up of each of the digits 0 to 9 in some order, but it also has a rather interesting sub-string divisibility property. + + Let d_(1) be the 1^(st) digit, d_(2) be the 2^(nd) digit, and so on. In this way, we note the following: + + * d_(2)d_(3)d_(4)=406 is divisible by 2 + * d_(3)d_(4)d_(5)=063 is divisible by 3 + * d_(4)d_(5)d_(6)=635 is divisible by 5 + * d_(5)d_(6)d_(7)=357 is divisible by 7 + * d_(6)d_(7)d_(8)=572 is divisible by 11 + * d_(7)d_(8)d_(9)=728 is divisible by 13 + * d_(8)d_(9)d_(10)=289 is divisible by 17 + + Find the sum of all 0 to 9 pandigital numbers with this property. +} + +def ok(str) + return false if str[0] == str[1] + return false if str[0] == str[2] + return false if str[1] == str[2] + return true +end + +$potential={} + +[2,3,5,7,11,13,17].each do |p| + $potential[p]=[] + # We first limit d8d9d10 + ((10/p).ceil .. (1000/p).floor).each do |i| + str_num=(p*i).to_s + str_num = "0#{str_num}" if p*i<100 + if ok( str_num ) + $potential[p] <<= str_num.split('') + end + end +end + +[2,3,5,7,11,13,17].each do |p| + puts "====" + $potential[p].each do |t| + print t.join + ", " + end +end +puts + +# now we have limited greatly the search space for pandigital numbers +$list=[] + +def pandigit( tab, t, str) + # p [ tab, t, str ] + table=tab.clone + p = table.pop() + if p.nil? + # puts "* "+t.join()+str + $list <<= t.join()+str + return + end + $potential[p].each do |num| + next if t[0] != num[1] or t[1] != num[2] + # puts "exists: #{num.join}" + pandigit( table, num, t[2]+str); + end +end + +$numbers=%q(0123456789).split('').sort +def is_pandigital(str) + return str.split('').sort == $numbers +end + +# $potential[17]=[ ["7","8","9"], ["4","5","6"] ] +# $potential[13]=[ ["6","7","8"] ] +# $potential[11]=[ ["5","6","7"] ] +# $potential[7] =[ ["4","5","6"] ] +# $potential[5] =[ ["3","4","5"] ] +# $potential[3] =[ ["2","3","4"] ] +# $potential[2] =[ ["1","2","3"] ] + +sum=0 +$potential[17].each do |t| + pandigit( [2,3,5,7,11,13], t, "") + + # pandigit( [13], t, "") +end + +$list.each do |str| + (1..9).each do |d| + number=d.to_s+str + if is_pandigital( number ) + puts "OK: "+number + sum += number.to_i + end + end +end + +puts "Sum: #{sum}" diff --git a/044.rb b/044.rb new file mode 100644 index 0000000..920c193 --- /dev/null +++ b/044.rb @@ -0,0 +1,61 @@ +descr=%{ + Pentagonal numbers are generated by the formula, P_(n)=n(3n−1)/2. The first ten pentagonal numbers are: + + 1, 5, 12, 22, 35, 51, 70, 92, 117, 145, ... + + It can be seen that P_(4) + P_(7) = 22 + 70 = 92 = P_(8). However, their difference, 70 − 22 = 48, is not pentagonal. + + Find the pair of pentagonal numbers, P_(j) and P_(k), for which their sum and difference is pentagonal and D = |P_(k) − P_(j)| is minimised; what is the value of D? +} + +thoughts=%{ + We can make a fast test to know whether a number is pentagonal. + + We can also remark that this function is strictly growing. + If P(k+1) - P(k) > P(j) then we should no more try to use the index j. +} + +def P(n) + return n*(3*n - 1)/2 +end + +def is_pentagonal(k) + # k = n(3n - 1)/2 + # 2k = n(3n - 1) + # 3n^2 - n - 2k = 0 + # + a=3.0; b=-1; c=-2.0*k + # delta = sqrt( b^2 - 4ac ) + delta=Math.sqrt( b**2 - 4*a*c ) + sol1=( -b + delta )/(2*a) + sol2=( -b - delta )/(2*a) + + # renvoie vrai s'il existe une solution entiere positive + return true if sol1 == sol1.floor && sol1 > 0 + return true if sol2 == sol2.floor && sol2 > 0 + return false +end + +# (1..117).each do |x| +# puts x if is_pentagonal(x) +# end +j=1 +k=2 +while true + pk=P(k) + pj=P(j) + diff=pk-pj + sum=pk+pj + # puts %{P(#{k})=#{pk}, P(#{j})=#{pj}, Pk-Pj=#{diff}#{"*" if is_pentagonal(diff)}, Pk+Pj=#{sum}#{"*" if is_pentagonal(sum)}} + if is_pentagonal( sum ) && is_pentagonal( diff ) + puts %{P(#{k})=#{pk}, P(#{j})=#{pj}, Pk-Pj=#{diff}#{"*" if is_pentagonal(diff)}, Pk+Pj=#{sum}#{"*" if is_pentagonal(sum)}} + puts diff + break + end + if P(k+1) - pk > pj + k += 1 + j = k-1 + else + j -= 1 + end +end diff --git a/045.rb b/045.rb new file mode 100644 index 0000000..37971be --- /dev/null +++ b/045.rb @@ -0,0 +1,46 @@ +descr=%{ +Triangle, pentagonal, and hexagonal numbers are generated by the following formulae: +Triangle T_(n)=n(n+1)/2 1, 3, 6, 10, 15, ... +Pentagonal P_(n)=n(3n−1)/2 1, 5, 12, 22, 35, ... +Hexagonal H_(n)=n(2n−1) 1, 6, 15, 28, 45, ... + +It can be verified that T_(285) = P_(165) = H_(143) = 40755. + +Find the next triangle number that is also pentagonal and hexagonal. +} + +# number[n]=1,2 or 3 if 3 triangular, pentagonal and hexagonal +$number={} +def save_and_verif(t) + if $number[t].nil? + $number[t]=1 + else + $number[t] += 1 + if $number[t] == 3 + puts t + exit 0 + end + end +end + +def T(n) + t=n*(n+1)/2 + save_and_verif(t) +end +def P(n) + t=n*(3*n-1)/2 + save_and_verif(t) +end +def H(n) + t=n*(2*n-1) + save_and_verif(t) +end + +n=144 +while true + T(n) + P(n) + H(n) + + n+=1 +end diff --git a/046.rb b/046.rb new file mode 100644 index 0000000..c70cd9a --- /dev/null +++ b/046.rb @@ -0,0 +1,48 @@ +descr=%{ +It was proposed by Christian Goldbach that every odd composite number can be written as the sum of a prime and twice a square. + +9 = 7 + 2×1^(2) +15 = 7 + 2×2^(2) +21 = 3 + 2×3^(2) +25 = 7 + 2×3^(2) +27 = 19 + 2×2^(2) +33 = 31 + 2×1^(2) + +It turns out that the conjecture was false. + +What is the smallest odd composite that cannot be written as the sum of a prime and twice a square? +} + +puts "Read primes and init data structure" +primes=File.read("firsts_1MM_primes.txt").split().collect{|x| x.to_i } +is_prime={} +primes.each do |p| + is_prime[p]=true +end + +puts "search" +k=1 +while true + n=2*k+1 + k+=1 + next if is_prime[n] + puts "* "+n.to_s if k%100 == 0 + found=false + primes.each do |p| + break if p>n + i=0 + while p + 2*(i**2) <= n + if p + 2*(i**2) == n + # puts "#{n} = #{p} + 2.#{i}^2" + found=true + break + end + i+=1 + end + break if found + end + if not found + puts n + exit 0 + end +end diff --git a/047.rb b/047.rb new file mode 100644 index 0000000..101825a --- /dev/null +++ b/047.rb @@ -0,0 +1,63 @@ +descr=%{ + The first two consecutive numbers to have two distinct prime factors are: + + 14 = 2 × 7 + 15 = 3 × 5 + + The first three consecutive numbers to have three distinct prime factors are: + + 644 = 2² × 7 × 23 + 645 = 3 × 5 × 43 + 646 = 2 × 17 × 19. + + Find the first four consecutive integers to have four distinct primes factors. + What is the first of these numbers? +} + +thoughts=%{ + Loop for each number and find it's prime number decomposition (there is no shortcut doing this) +} + + +puts "Read primes" +$primes=File.read("firsts_1MM_primes.txt").split().collect! { |p| p.to_i } + +# the uniq is to transform [2,2,3] into [2,3] +def prime_decomposition(n) + if n <= 1 + return [] + end + $primes.each do |p| + if n % p == 0 + return ( prime_decomposition(n/p) << p ).uniq + end + end +end + +size=4 +buff=[] +(2..size).each do |n| + buff <<= prime_decomposition(n).length +end +n=size+1 +while true + buff <<= prime_decomposition(n).length + + found=true + buff.each do |l| + if l != size + found=false + break + end + end + + if n%1000 == 0 + print "** #{n}: " + p buff + end + + break if found + buff.shift + n+=1 +end +puts "Solution = #{n+1-size}" diff --git a/048.rb b/048.rb new file mode 100644 index 0000000..2728ddc --- /dev/null +++ b/048.rb @@ -0,0 +1,12 @@ +descr=%{ + The series, 1^1 + 2^2 + 3^3 + ... + 10^10 = 10405071317. + + Find the last ten digits of the series, 1^1 + 2^2 + 3^3 + ... + 1000^1000. +} + +sum=0 +(1..1000).each do |n| + sum += n**n +end + +puts sum.to_s[-10..-1] diff --git a/049.rb b/049.rb new file mode 100644 index 0000000..529c04b --- /dev/null +++ b/049.rb @@ -0,0 +1,45 @@ +descr=%{ +The arithmetic sequence, 1487, 4817, 8147, in which each of the terms increases +by 3330, is unusual in two ways: (i) each of the three terms are prime, and, +(ii) each of the 4-digit numbers are permutations of one another. + +There are no arithmetic sequences made up of three 1-, 2-, or 3-digit primes, +exhibiting this property, but there is one other 4-digit increasing sequence. + +What 12-digit number do you form by concatenating the three terms in this + sequence? +} + + +puts "Read primes" +$primes=File.read("firsts_1MM_primes.txt").split() + +fdprimes=[] +$primes.each do |p| + if p.length == 4 + fdprimes <<= p + end +end + +is_prime={} +fdprimes.each do |p| + is_prime[p]=true +end + +fdprimes.each do |p| + next if p == "1487" + puts p + sigp=p.split('').sort + fdprimes.each do |q| + next if q<=p + sigq=q.split('').sort + if sigp == sigq + r = ( 2*q.to_i-p.to_i ).to_s + sigr=r.split('').sort + if sigp == sigr and is_prime[r] + puts "#{p}#{q}#{r}" + exit 0 + end + end + end +end diff --git a/050.rb b/050.rb new file mode 100644 index 0000000..0ab7f16 --- /dev/null +++ b/050.rb @@ -0,0 +1,49 @@ +descr=%{ + The prime 41, can be written as the sum of six consecutive primes: + + 41 = 2 + 3 + 5 + 7 + 11 + 13 + This is the longest sum of consecutive primes that adds to a prime below one-hundred. + + The longest sum of consecutive primes below one-thousand that adds to a prime, contains 21 terms, and is equal to 953. + + Which prime, below one-million, can be written as the sum of the most consecutive primes? +} + +require "primes" +po = Primes.new(1) + +primes = po.primes + +maxnb=0 +best=0 +min=0 +max=0 +limit=1000000 + +initsum=primes.inject(0) {|sum,p| sum+p} +initnb=primes.length +primes.reverse.each do |maxp| + initsum -= maxp + sum=initsum + initnb -= 1 + nb = initnb + next if maxp>limit/21 + primes.each do |minp| + sum -= minp + nb -= 1 + next if minp>limit/21 + break if maxp <= minp + next if sum>limit + if po.is_prime(sum) + if nb>maxnb + best=sum + maxnb=nb + min=minp + max=maxp + puts %{#{best} #{min}->#{max} (#{maxnb})} + end + end + end +end + +puts %{BEST: #{best} #{min}->#{max} (#{maxnb})} diff --git a/051.rb b/051.rb new file mode 100644 index 0000000..2700cfd --- /dev/null +++ b/051.rb @@ -0,0 +1,75 @@ +descr=%{ + By replacing the 1st digit of *3, it turns out that six of the nine possible values: 13, 23, 43, 53, 73, and 83, are all prime. + + By replacing the 3rd and 4th digits of 56**3 with the same digit, this 5-digit number is the first example having seven primes among the ten generated numbers, yielding the family: 56003, 56113, 56333, 56443, 56663, 56773, and 56993. Consequently 56003, being the first member of this family, is the smallest prime with this property. + + Find the smallest prime which, by replacing part of the number (not necessarily adjacent digits) with the same digit, is part of an eight prime value family. +} + +require 'primes' + +$po = Primes.new +$curnumber +$dynamic = {} + +def rec_test_all_cases(tab,min,n) + # puts "#{tab.join} min: #{min} n: #{n}" + if n==0 + if $dynamic[tab.join()] + return + end + nb=0 + (0..9).each do |k| + tmp=tab.map do |x| + x=='X'?k:x + end + if tmp[0] == 0 + next + end + if $po.is_prime( tmp.join().to_i ) + # puts tmp.join() + nb += 1 + end + end + if nb == 8 + (0..9).each do |k| + tmp=tab.map do |x| + x=='X'?k:x + end + if tmp[0] == 0 + next + end + if $po.is_prime( tmp.join().to_i ) + puts tmp.join() + nb += 1 + end + end + puts "FOUND! #{$curnumber} #{tab.join()}" + exit + else + $dynamic[ tab.join() ]=nb + puts "##{nb} => #{$curnumber} #{tab.join()}" + end + return + end + (min..tab.length-1).each do |i| + tmp=tab.clone + tmp[i]='X' + # puts "tmp: #{tmp.join}" + rec_test_all_cases(tmp, i,0) + if n-1>0 + rec_test_all_cases(tmp, i+1, n-1) + end + end +end + +def test_all_cases_for(p) + tab=p.to_s.split('') + rec_test_all_cases(tab, 0, tab.length - 1) +end + +$po.primes.each do |p| + next if p<10 + $curnumber=p + test_all_cases_for(p) +end diff --git a/052.rb b/052.rb new file mode 100644 index 0000000..76ce2dd --- /dev/null +++ b/052.rb @@ -0,0 +1,23 @@ +descr=%{ +It can be seen that the number, 125874, and its double, 251748, contain exactly the same digits, but in a different order. + +Find the smallest positive integer, x, such that 2x, 3x, 4x, 5x, and 6x, contain the same digits. +} + +n=1 +while true + l=n.to_s.split('').sort + find=true + (2..6).each do |m| + v=(n*m).to_s.split('').sort + if v != l + find=false + break + end + end + if find + puts "FOUND: #{n}" + exit 0 + end + n+=1 +end diff --git a/053.rb b/053.rb new file mode 100644 index 0000000..269d3cf --- /dev/null +++ b/053.rb @@ -0,0 +1,55 @@ +descr=%{ + There are exactly ten ways of selecting three from five, 12345: + + 123, 124, 125, 134, 135, 145, 234, 235, 245, and 345 + + In combinatorics, we use the notation, 5C3 = 10. + + In general, + nCr = + n! + r!(n−r)! + ,where r ≤ n, n! = n×(n−1)×...×3×2×1, and 0! = 1. + + It is not until n = 23, that a value exceeds one-million: 23C10 = 1144066. + + How many, not necessarily distinct, values of nCr, for 1 ≤ n ≤ 100, are greater than one-million? +} + +remarks=%{ + C(n,r) == C(n,n-r) + C(n,r) > X => forall m>n C(m,r)>X + suppose r <= n-r + + 5 x 4 x 3 x 2 x 1 5x4 + ----------------------- = ------- = 10 + ( 3 x 2 x 1 ) ( 2 x 1 ) 2x1 + + C(n,r) = n x (n-1) x ... x (n-(n-r)+1) / r x (r-1) x ... x 1 + = n x (n-1) x ... x (r+1) / r x (r-1) x ... x 1 +} + +def C(n,r) + if (r > n-r) + r = n-r + end + top=1 + (n-r+1..n).each do |x| + top *= x + end + down=1 + (2..r).each do |x| + down *= x + end + return top/down +end + +sum=0 +(1..100).each do |n| + (1..n).each do |r| + if C(n,r)>10**6 + sum+=1 + end + end +end +puts sum diff --git a/054.rb b/054.rb new file mode 100644 index 0000000..270cbd4 --- /dev/null +++ b/054.rb @@ -0,0 +1,322 @@ +descr=%{ +In the card game poker, a hand consists of five cards and are ranked, from lowest to highest, in the following way: + + * High Card: Highest value card. + * One Pair: Two cards of the same value. + * Two Pairs: Two different pairs. + * Three of a Kind: Three cards of the same value. + * Straight: All cards are consecutive values. + * Flush: All cards of the same suit. + * Full House: Three of a kind and a pair. + * Four of a Kind: Four cards of the same value. + * Straight Flush: All cards are consecutive values of same suit. +* Royal Flush: Ten, Jack, Queen, King, Ace, in same suit. + +The cards are valued in the order: +2, 3, 4, 5, 6, 7, 8, 9, 10, Jack, Queen, King, Ace. + +If two players have the same ranked hands then the rank made up of the highest value wins; for example, a pair of eights beats a pair of fives (see example 1 below). But if two ranks tie, for example, both players have a pair of queens, then highest cards in each hand are compared (see example 4 below); if the highest cards tie then the next highest cards are compared, and so on. + +Consider the following five hands dealt to two players: +Hand Player 1 Player 2 Winner +1 5H 5C 6S 7S KD + Pair of Fives + 2C 3S 8S 8D TD + Pair of Eights + Player 2 +2 5D 8C 9S JS AC + Highest card Ace + 2C 5C 7D 8S QH + Highest card Queen + Player 1 +3 2D 9C AS AH AC + Three Aces + 3D 6D 7D TD QD + Flush with Diamonds + Player 2 +4 4D 6S 9H QH QC + Pair of Queens + Highest card Nine + 3D 6D 7H QD QS + Pair of Queens + Highest card Seven + Player 1 +5 2H 2D 4C 4D 4S + Full House + With Three Fours + 3C 3D 3S 9S 9D + Full House + with Three Threes + Player 1 + +poker.txt, contains one-thousand random hands dealt to two players. +Each line of the file contains ten cards (separated by a single space): +the first five are Player 1's cards and the last five are Player 2's cards. +You can assume that all hands are valid (no invalid characters or +repeated cards), each player's hand is in no specific order, +and in each hand there is a clear winner. + +How many hands does Player 1 win? +} + +hands=File.read("poker.txt").split("\n").collect { |line| x=line.split; [x[0..4],x[5..9]] } + +class Category + attr_accessor :cat + attr_accessor :value + attr_accessor :subvalue + def to_s + res=@numbers.join(" ") << " : " + case @cat + when 10 then res<<="royal_flush" + when 9 then res<<="straight_flush" + when 8 then res<<="four_of_a_kind" + when 7 then res<<="full_house" + when 6 then res<<="flush" + when 5 then res<<="straight" + when 4 then res<<="three_of_a_kind" + when 3 then res<<="two_pairs" + when 2 then res<<="one_pair" + when 1 then res<<="high_card" + end + res <<= " V(#{@value}" + if @subvalue + res <<= ":#{@subvalue}" + end + res <<= ")" + end + def initialize(hand) + @rawhand=hand + @hand=hand.map do |str| + c = str.split('') + case c[0] + when /[2-9]/ then { c[0].to_i => c[1] } + when 'T' then { 10 => c[1] } + when 'J' then { 11 => c[1] } + when 'Q' then { 12 => c[1] } + when 'K' then { 13 => c[1] } + when 'A' then { 14 => c[1] } + else exit 1 + end + end + @numbers=@hand.map {|x| x.keys[0]}.sort + @nb={} + @numbers.each do |n| + if @nb[n] + @nb[n]+=1 + else + @nb[n]=1 + end + end + @nbcolors={} + @hand.each do |x| + if @nbcolors[x.values[0]].nil? + @nbcolors[x.values[0]]=1 + else + @nbcolors[x.values[0]]+=1 + end + end + # print "@hand: " + # p @hand + # print "@nb: " + # p @nb + # print "@numbers: " + # p @numbers + # print "@nbcolors: " + # p @nbcolors + @cat=nil + @value=nil + @subvalue=nil + return if is_royal_flush + return if is_straight_flush + return if is_four_of_a_kind + return if is_full_house + return if is_flush + return if is_straight + return if is_three_of_a_kind + return if is_two_pairs + return if is_one_pair + return is_high_card + end + + def is_royal_flush + if is_straight_flush and @value==14 + @cat=10 + return true + end + return false + end + def is_straight_flush + if is_flush and is_straight + @cat=9 + return true + else + return false + end + end + def is_four_of_a_kind + carre = @nb.select{|k,v| v>=4}.map {|x| x[0]} + if carre.empty? + return false + end + @cat=8 + @value=carre[0] + end + def is_full_house + brelan = @nb.select{|k,v| v==3}.map {|x| x[0]} + + pair = @nb.select{|k,v| v==2}.map {|x| x[0]} + + + if brelan.empty? or pair.empty? + return false + end + + @cat=7 + @value=brelan[0] + @subvalue=pair[0] + end + def is_flush + if @nbcolors.size != 1 + return false + end + @cat=6 + @value=@numbers[-1] + @subvalue=@numbers[-2] + end + def is_straight + last=nil + if @numbers == [2,3,4,5,14] + @cat=5 + @value=5 + return true + end + @numbers.each do |n| + if last.nil? + last=n + next + end + if n != last+1 + return false + end + last=n + end + @cat=5 + @value=@numbers[-1] + return true + end + def is_three_of_a_kind + brelan = @nb.select{|k,v| v>=3}.map {|x| x[0]} + + if brelan.empty? + return false + end + @cat=4 + @value=brelan[0] + end + def is_two_pairs + pairs = @nb.select{|k,v| v>=2}.map {|x| x[0]} + + if pairs.size < 2 + return false + end + @cat=3 + @value = pairs.max + @subvalue = pairs.min + return true + end + def is_one_pair + pair = @nb.select{|k,v| v>=2}.map {|x| x[0]} + + if pair.empty? + return false + end + @cat=2 + @value = pair[0] + return true + end + def is_high_card + @cat=1 + @value=@numbers[-1] + @subvalue=@numbers[-2] + return true + end +end + +def tonumber(hand) + hand.map do |str| + c = str.split('') + case c[0] + when /[2-9]/ then c[0].to_i + when 'T' then 10 + when 'J' then 11 + when 'Q' then 12 + when 'K' then 13 + when 'A' then 14 + end + end +end + +def highest_card(hand1,hand2) + numbers1=tonumber(hand1).reverse + numbers2=tonumber(hand2).reverse + i=0 + numbers1.each do |c| + if c > numbers2[i] + return true + end + if c < numbers2[i] + return false + end + i+=1 + end + return true +end + +def win(h) + hand1=h[0] + hand2=h[1] + + cat1=Category.new(hand1) + puts "HAND1: #{cat1.to_s}" + cat2=Category.new(hand2) + puts "HAND2: #{cat2.to_s}" + + # Best category win + if cat1.cat > cat2.cat + return true + elsif cat1.cat < cat2.cat + return false + end + + # same category? Best value win + if cat1.value > cat2.value + return true + elsif cat1.value < cat2.value + return false + end + + # same value? Best subvalue win (if it exists) + if not cat1.subvalue.nil? + if cat1.subvalue > cat2.subvalue + return true + elsif cat1.subvalue < cat2.subvalue + return false + end + end + + # Nothing less? Highest card are compared + return highest_card(hand1, hand2) +end + +sum=0 +hands.each do |h| + if win(h) + puts "PLAYER 1 (WIN)" + sum+=1 + else + puts "PLAYER 2 (LOSE)" + end +end + +puts sum diff --git a/055.hs b/055.hs new file mode 100644 index 0000000..5fb5a99 --- /dev/null +++ b/055.hs @@ -0,0 +1,18 @@ +-- num_reverse :: Num a -> Num a +num_reverse = read . reverse . show + +-- num_palindrom :: Num a -> Bool +num_palindrom n = (show n) == (reverse $ show n) + +-- lychrel :: Num a -> Num a -> Bool +lychrel 0 n = False +lychrel depth n = ( num_palindrom number ) || lychrel (depth - 1) number + where number = n + (num_reverse n) + +-- nblychrel :: Num a -> Num a +nblychrel n = length $ filter (not . lychrel 50) [1..n] + +main = do + putStrLn $ show ( lychrel 50 196 ) + putStrLn $ show ( nblychrel n ) + where n = 10000 diff --git a/056.hs b/056.hs new file mode 100644 index 0000000..0d9bfd6 --- /dev/null +++ b/056.hs @@ -0,0 +1,11 @@ +to_list x = [x] + +char_to_int c = read $ to_list c :: Integer + +digital_sum :: Integer -> Integer +digital_sum n = sum $ map ( char_to_int ) ( show n ) + +find_max n m = foldr max 0 [ digital_sum (a^b) | a <- [1..n], b <- [1..m]] + +main = do + putStrLn $ show $ find_max 100 100 diff --git a/057.hs b/057.hs new file mode 100644 index 0000000..f70fc56 --- /dev/null +++ b/057.hs @@ -0,0 +1,49 @@ +-- It is possible to show that the square root of two +-- can be expressed as an infinite continued fraction. +-- +-- √ 2 = 1 + 1/(2 + 1/(2 + 1/(2 + ... ))) = 1.414213... +-- +-- By expanding this for the first four iterations, we get: +-- +-- 1 + 1/2 = 3/2 = 1.5 +-- 1 + 1/(2 + 1/2) = 7/5 = 1.4 +-- 1 + 1/(2 + 1/(2 + 1/2)) = 17/12 = 1.41666... +-- 1 + 1/(2 + 1/(2 + 1/(2 + 1/2))) = 41/29 = 1.41379... +-- +-- The next three expansions are 99/70, 239/169, and 577/408, +-- but the eighth expansion, 1393/985, +-- is the first example where the number of digits in the numerator exceeds +-- the number of digits in the denominator. +-- +-- In the first one-thousand expansions, +-- how many fractions contain a numerator with more digits than denominator? +-- + +-- Thoughts : +-- 1 + 1/2 = 3/2 +-- 1 + 1/(2 + 1/2) = 1 + 1/(5/2) +-- = 1 + 2/5 +-- = 5 + 2 / 5 +-- = 7/5 +-- F_n = p/q +-- F_{n+1} +-- +-- 1 + 1/( 1 + p/q ) = 1 + 1/( q+p / q) +-- = 1 + q / q+p +-- = 2q+p / q+p +-- + +next (p,q) = (2*q + p , p+q) + +nb_digits n = length $ show n + +digits 0 x = [] +digits n x = y:(digits (n-1) y) + where y = next x + +greater_numerator (p,q) = (nb_digits p) > (nb_digits q) + +nb_greater_numerator n = length $ filter (greater_numerator) (digits n (1,1)) + +main = do + putStrLn $ show $ nb_greater_numerator 1000 diff --git a/058.hs b/058.hs new file mode 100644 index 0000000..932710a --- /dev/null +++ b/058.hs @@ -0,0 +1,66 @@ +-- Starting with 1 and spiralling anticlockwise in the following way, a square spiral with side length 7 is formed. +-- +-- 37 36 35 34 33 32 31 +-- 38 17 16 15 14 13 30 +-- 39 18 5 4 3 12 29 +-- 40 19 6 1 2 11 28 +-- 41 20 7 8 9 10 27 +-- 42 21 22 23 24 25 26 +-- 43 44 45 46 47 48 49 +-- +-- It is interesting to note that the odd squares lie along the bottom right diagonal, but what is more interesting is that 8 out of the 13 numbers lying along both diagonals are prime; that is, a ratio of 8/13 ≈ 62%. +-- +-- If one complete new layer is wrapped around the spiral above, a square spiral with side length 9 will be formed. If this process is continued, what is the side length of the square spiral for which the ratio of primes along both diagonals first falls below 10%? +-- +-- Reflexion: +-- if n is the side length of the square spiral. The numbers at each 'coin' are +-- +-- 1 -> 1 +-- 2 -> 3 5 7 9 +-- 3 -> 13 17 21 25 +-- ... +-- +-- The rule is +-- (last_max_number + n.(size-1) | n in [1..4]) +-- examples: +-- last_max_number=1 +-- size = 3 +-- 1+2 = 3, 1+2*2=5, 1+3*2=7, 1+4*2=9 +-- +-- last_max_number=9 +-- size=5 +-- 9+4=13, 9+2*4=17, 9+3*4=21, 9+4*4=25 + +import Prime + +next_four_numbers :: (Num a) => a -> a -> [a] +next_four_numbers n size = map (\p -> n + p*(size-1)) [1,2,3,4] +nextState (prev,size) = (next_four_numbers (last prev) size, size+2) +spiral = concat $ map fst $ iterate nextState ([1],3) +diag_primes = map is_prime spiral + +ratio_func (x:xs) (p,q) = (p,q):(ratio_func xs b) + where b = if x then (p+1,q+1) else (p,q+1) + +ratios = ratio_func diag_primes (0,0) + +takeNth n p (x:xs) = if n == p + then x:takeNth n 1 xs + else takeNth n (p+1) xs + +-- takeWhile (>0.1) (map fst $ takeNth 4 4 ratios) + +main = do + -- putStrLn $ show $ firsts_spiral_numbers n + putStrLn $ show $ take (4*n+1) spiral + putStrLn $ show $ take (4*n+1) diag_primes + putStrLn $ show $ take 10 $ takeNth 4 4 spiral + -- putStrLn $ show $ tmp + putStrLn $ show $ res + putStrLn $ show $ ((res-1)/2) + 1 + 2 + where + n=3 + rat=0.1 + tmp = takeWhile (\(p,q) -> (q < 2) || (p/q > rat) ) $ takeNth 4 3 ratios + (_,res) = last $ tmp + diff --git a/058.rb b/058.rb new file mode 100644 index 0000000..1300186 --- /dev/null +++ b/058.rb @@ -0,0 +1,56 @@ +problem=%{ +-- Starting with 1 and spiralling anticlockwise in the following way, a square spiral with side length 7 is formed. +-- +-- 37 36 35 34 33 32 31 +-- 38 17 16 15 14 13 30 +-- 39 18 5 4 3 12 29 +-- 40 19 6 1 2 11 28 +-- 41 20 7 8 9 10 27 +-- 42 21 22 23 24 25 26 +-- 43 44 45 46 47 48 49 +-- +-- It is interesting to note that the odd squares lie along the bottom right diagonal, but what is more interesting is that 8 out of the 13 numbers lying along both diagonals are prime; that is, a ratio of 8/13 ≈ 62%. +-- +-- If one complete new layer is wrapped around the spiral above, a square spiral with side length 9 will be formed. If this process is continued, what is the side length of the square spiral for which the ratio of primes along both diagonals first falls below 10%? +-- +-- Reflexion: +-- if n is the side length of the square spiral. The numbers at each 'coin' are +-- +-- 1 -> 1 +-- 2 -> 3 5 7 9 +-- 3 -> 13 17 21 25 +-- ... +-- +-- The rule is +-- (last_max_number + n.(size-1) | n in [1..4]) +-- examples: +-- last_max_number=1 +-- size = 3 +-- 1+2 = 3, 1+2*2=5, 1+3*2=7, 1+4*2=9 +-- +-- last_max_number=9 +-- size=5 +-- 9+4=13, 9+2*4=17, 9+3*4=21, 9+4*4=25 +} +require 'primes' +$po = Primes.new(100) + +size=1 +ratio=1 +last_max_number=1 +nb_prime=0.0 +nb_numbers_on_diag=1 + +while ratio > 0.1 do + size +=2 + (1..4).each do |n| + last_max_number += (size-1) + puts last_max_number + nb_prime += 1 if $po.is_prime(last_max_number) + nb_numbers_on_diag += 1 + end + ratio= nb_prime / nb_numbers_on_diag + puts ratio +end + +puts "size = #{size}" diff --git a/059.c b/059.c new file mode 100644 index 0000000..f53848f --- /dev/null +++ b/059.c @@ -0,0 +1,129 @@ +#include "dictionnary.c" +#define FILE_SIZE 2030 + +static Tree dictionnary; + +char is_small_letter(char c) { + return ('a' <= c) && (c <= 'z'); +} +char is_letter(char c) { + return (('A' <= c) && (c <= 'Z')) || is_small_letter(c); +} + +char to_upper(char c) { + if ( is_small_letter(c) ) + return 'A' - 'a' + c; + return c; +} + +void upper_str(char *str) { + while (*str) { + *str=to_upper(*str); + } +} + +char contains_english(char *decoded, int length) { + int i; + char tmpword[FILE_SIZE]; + int maxwordlen=0; + int len=0; + int badlen=0; + int w=0; + int nb_english_word=0; + + for (i=0; i5) { + fprintf(stderr,"%s\n",tmpword); + } + if (is_element(dictionnary,tmpword)) { + fprintf(stderr,"WORD: %s\n",tmpword); + nb_english_word++; + } + w=0; + } + } + return nb_english_word > 0; +} + +void decode(char *src, char *decoded, int code[], int length) { + int i,j; + for (i=0,j=0;i %s\n", tst_str); + + for (i='z'; i>='a'; i--) { + fprintf(stderr,"\n%c: ", i); + code[0]=i; + for (j='a'; j<='z'; j++) { + code[1]=j; + for (k='a'; k<='z'; k++) { + code[2]=k; + decode(src,decoded,code,length); + if (contains_english(decoded, length)) { + printf("\ncode = %c,%c,%c", code[0],code[1],code[2]); + printf("decoded message: %s",decoded); + printf("Sum = ", sum(decoded)); + } + } + } + } + + return 0; +} diff --git a/059.rb b/059.rb new file mode 100644 index 0000000..5e0536f --- /dev/null +++ b/059.rb @@ -0,0 +1,27 @@ +codes = File.read("cipher1.txt").split(",").map { |x| x.to_i } +# words = File.read("words.txt").split(",").map { |s| s[1..-2] } +# $is_word={} +# $potential_codes=[] +# words.each do |w| +# $is_word[w]=true +# end + +def to_ascii (l) + res="" + l.each do |c| + res <<= c.chr + end + res +end + +# (0..255).each do |x| +# puts "#{x}:\n" +# (0..255).each do |y| +# (0..255).each do |z| +# to_ascii(codes,[x,y,z]) +# end +# end +# end + +puts to_ascii(codes) + diff --git a/060 b/060 new file mode 100755 index 0000000000000000000000000000000000000000..02eb23929363bef22ce7a2d04acf3356776752f4 GIT binary patch literal 824624 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

e$w9b7a9^q2%T5h!yOq|< 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 II--H$UqE2Up8x;= literal 0 HcmV?d00001 diff --git a/060-old.hs b/060-old.hs new file mode 100644 index 0000000..f8ba783 --- /dev/null +++ b/060-old.hs @@ -0,0 +1,76 @@ +-- +-- The primes 3, 7, 109, and 673, are quite remarkable. +-- By taking any two primes and concatenating them in any order the result will always be prime. +-- For example, taking 7 and 109, both 7109 and 1097 are prime. +-- The sum of these four primes, 792, represents the lowest sum for a set of four primes with this property. +-- +-- Find the lowest sum for a set of five primes for which any two primes concatenate to produce another prime. +-- + +-- Should use the following property +-- [x,y,z,t] special <=> [x,y,z] & [x,y,t] & [x,z,t] & [y,z,t] special + + +import Debug.Trace +import Data.List +import Prime + +is_couple_prime x y = ( is_prime $ read $ strx ++ stry ) && (is_prime $ read $ stry ++ strx) + where + strx = show x + stry = show y + +first_concat_prime_with_list x [] = True +first_concat_prime_with_list x (y:ys) = is_couple_prime x y && first_concat_prime_with_list x ys + +-- are_concat_primes [3,7,109,673] return true if number are primes +-- even with concat +are_concat_primes [] = True +are_concat_primes (x:xs) = (are_concat_primes xs) && first_concat_prime_with_list x xs + +nb_elements=4 + +-- n=5 max=5 -> 12345 +-- n=5 max=6 -> 12346, 12356, 12456, 13456, 23456 +-- n=5 max=7 -> 12347, 12357, 12367, 12457, 12467... + +-- n=1 max=1 -> 1 +-- n=1 max=2 -> 2 +-- n=1 max=3 -> 3 +-- +-- n=2 max=2 -> 12 +-- n=2 max=3 -> 13, 23 +-- n=2 max=4 -> 14, 24, 34 +-- n=2 max=5 -> 15, 26, 35, 45 +-- +-- n=3 max=3 -> 123 +-- n=3 max=4 -> 124, 134, 234 +-- n=3 max=5 -> 125, 135, 235, 145, 245, 345 (n=2,max=2 ; n=2,max=3 ; n=2,max=4)++[5] + +combination :: (Ord a) => Int -> a -> [a] -> [[a]] +combination 0 max list = [] +combination n max (x:xs@(y:ys)) + | x>max = [] + | n==1 && + x<=max && y>max = [[x]] + | otherwise = ( map (\z -> x:z) $ combination (n-1) max xs ) + ++ combination n max xs + +all_combinations n xs = foldr (++) [] $ map (\i -> traceShow i combination n (xs!!i) xs) [(n-1)..] + +special_numbers 1 = primes +special_numbers n = nub $ flatten $ filter are_concat_primes $ all_combinations n $ special_numbers (n-1) + where + flatten [] = [] + flatten ([]:ys) = flatten ys + flatten ((x:xs):ys) = x:(flatten ((xs):ys) ) + +main = do + -- putStrLn $ show $ are_concat_primes [3,7,109,673] + -- putStrLn $ show $ are_concat_primes [3,7,19,673] + -- putStrLn $ show $ combination 5 5 [1..] + -- putStrLn $ show $ take 40 $ all_combinations 5 primes + putStrLn $ show $ result + -- putStrLn ( "sum: " ++ (show $ sum result)) + where + result = take 1 $ filter (\x -> traceShow x are_concat_primes [3,7,109,673,x]) primes diff --git a/060.hi b/060.hi new file mode 100644 index 0000000000000000000000000000000000000000..222692344f81e8a8b72f31aa091aed47d34978a8 GIT binary patch literal 992 zcmZQz{B@222v~sF42TVZ*a(P?ftV>1h(mx35MX3@cys^s16tP)KbMPrmfCUW?-J9{ z`8*ACoR^!w^w@QI z!><}Q|D~VZO~1n=_|{3K>ifCvyW%mwPpHOwxgJb{|KEv(i#&f{SNu4bG)26$=O9c% zpx(l6$#wIOoX!WO7PZDs-UgEpbO|%&y1Kx2deb4F=zWUfS|ABlAQsx7?fiZwUscDP zWowh(b3R)R4$SpzTf)D|o>P$Kz5C4Ib5tRt@aOh3OtP|O1!fG^{D1fqm_Yi4msv)A zSHlD8;Aeg7h&6fe1z}5D8S}z>sM->xZxHpW|{V zd<@Zd;=rK-k^%yd6`-gW1;xD>5QBg?gkoUHP0Y-Lv3(J2)_|hS+*FuEQerWT&5@pw ztXlw-gvxPe=9Q$Trxxj^=N3SPxLguT67@n#3v%F^+&!H2oDha^g7|JZ`H3Y^E$kox zzfzc?oM01tGK*pI+%Bm}rRjPhMTyBUGr2)poO2S3i&KlCrf`6SkaU6h!5R7GFk1qO zQgcdEU?y+|R~DC~=IVL+L*+R`QY%XIf>IMxpaKFQ13e)g)C;LBfa&DOERF|-0gTTE R=D?f*_8mwyOn}ML9{?$u;)nnM literal 0 HcmV?d00001 diff --git a/060.hs b/060.hs new file mode 100644 index 0000000..7a7c252 --- /dev/null +++ b/060.hs @@ -0,0 +1,50 @@ +-- +-- The primes 3, 7, 109, and 673, are quite remarkable. +-- By taking any two primes and concatenating them in any order the result will always be prime. +-- For example, taking 7 and 109, both 7109 and 1097 are prime. +-- The sum of these four primes, 792, represents the lowest sum for a set of four primes with this property. +-- +-- Find the lowest sum for a set of five primes for which any two primes concatenate to produce another prime. +-- + +-- Should use the following property +-- [x,y,z,t] special <=> [x,y,z] & [x,y,t] & [x,z,t] & [y,z,t] special + + +import Debug.Trace +import Data.List +import Prime + +is_couple_prime x y = ( is_prime $ read $ strx ++ stry ) && (is_prime $ read $ stry ++ strx) + where + strx = show x + stry = show y + +first_concat_prime_with_list x [] = True +first_concat_prime_with_list x (y:ys) = is_couple_prime x y && first_concat_prime_with_list x ys + +-- are_concat_primes [3,7,109,673] return true if number are primes +-- even with concat +are_concat_primes [] = True +are_concat_primes (x:xs) = (are_concat_primes xs) && first_concat_prime_with_list x xs + +special_numbers 1 = take 300 primes +-- special_numbers n = nub $ flatten $ filter (\x -> traceShow x are_concat_primes x) $ subsets n (special_numbers (n-1)) +special_numbers n = nub $ flatten $ filter are_concat_primes $ subsets n (special_numbers (n-1)) + where + flatten [] = [] + flatten ([]:ys) = flatten ys + flatten ((x:xs):ys) = x:flatten (xs:ys) + +subsets :: Integer -> [a] -> [[a]] +subsets 0 _ = [[]] +subsets n [] = [] +subsets n (x:xs) = [x:ys | ys <- subsets (n-1) xs ] ++ subsets n xs + +main = do + putStrLn $ show $ are_concat_primes [3,7,109,673] + putStrLn $ show $ numbers + putStrLn $ show $ result + where + numbers = take 5 $ special_numbers 5 + result = sum numbers diff --git a/060.o b/060.o new file mode 100644 index 0000000000000000000000000000000000000000..b7926fd069cafd0163f04ab27079f938828e8c12 GIT binary patch literal 13524 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 p*p <= n) large + divides n p = n `mod` p == 0 + + is_prime n = n > 1 && n == head (primeFactors n) + primeFactors 1 = [] + primeFactors n = go n primes + where + go n ps@(p:pt) + | p*p > n = [n] + | n `rem` p == 0 = p : go (n `quot` p) ps + | otherwise = go n pt diff --git a/Prime.o b/Prime.o new file mode 100644 index 0000000000000000000000000000000000000000..d312344546812438a559c8343b6b0c6514440f71 GIT binary patch literal 19944 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 YZQ}s5T+XU3{l!F}T*@=g{{VORA8-MFxc~qF literal 0 HcmV?d00001 diff --git a/cipher1.txt b/cipher1.txt new file mode 100644 index 0000000..08cee2d --- /dev/null +++ b/cipher1.txt @@ -0,0 +1 @@ +79,59,12,2,79,35,8,28,20,2,3,68,8,9,68,45,0,12,9,67,68,4,7,5,23,27,1,21,79,85,78,79,85,71,38,10,71,27,12,2,79,6,2,8,13,9,1,13,9,8,68,19,7,1,71,56,11,21,11,68,6,3,22,2,14,0,30,79,1,31,6,23,19,10,0,73,79,44,2,79,19,6,28,68,16,6,16,15,79,35,8,11,72,71,14,10,3,79,12,2,79,19,6,28,68,32,0,0,73,79,86,71,39,1,71,24,5,20,79,13,9,79,16,15,10,68,5,10,3,14,1,10,14,1,3,71,24,13,19,7,68,32,0,0,73,79,87,71,39,1,71,12,22,2,14,16,2,11,68,2,25,1,21,22,16,15,6,10,0,79,16,15,10,22,2,79,13,20,65,68,41,0,16,15,6,10,0,79,1,31,6,23,19,28,68,19,7,5,19,79,12,2,79,0,14,11,10,64,27,68,10,14,15,2,65,68,83,79,40,14,9,1,71,6,16,20,10,8,1,79,19,6,28,68,14,1,68,15,6,9,75,79,5,9,11,68,19,7,13,20,79,8,14,9,1,71,8,13,17,10,23,71,3,13,0,7,16,71,27,11,71,10,18,2,29,29,8,1,1,73,79,81,71,59,12,2,79,8,14,8,12,19,79,23,15,6,10,2,28,68,19,7,22,8,26,3,15,79,16,15,10,68,3,14,22,12,1,1,20,28,72,71,14,10,3,79,16,15,10,68,3,14,22,12,1,1,20,28,68,4,14,10,71,1,1,17,10,22,71,10,28,19,6,10,0,26,13,20,7,68,14,27,74,71,89,68,32,0,0,71,28,1,9,27,68,45,0,12,9,79,16,15,10,68,37,14,20,19,6,23,19,79,83,71,27,11,71,27,1,11,3,68,2,25,1,21,22,11,9,10,68,6,13,11,18,27,68,19,7,1,71,3,13,0,7,16,71,28,11,71,27,12,6,27,68,2,25,1,21,22,11,9,10,68,10,6,3,15,27,68,5,10,8,14,10,18,2,79,6,2,12,5,18,28,1,71,0,2,71,7,13,20,79,16,2,28,16,14,2,11,9,22,74,71,87,68,45,0,12,9,79,12,14,2,23,2,3,2,71,24,5,20,79,10,8,27,68,19,7,1,71,3,13,0,7,16,92,79,12,2,79,19,6,28,68,8,1,8,30,79,5,71,24,13,19,1,1,20,28,68,19,0,68,19,7,1,71,3,13,0,7,16,73,79,93,71,59,12,2,79,11,9,10,68,16,7,11,71,6,23,71,27,12,2,79,16,21,26,1,71,3,13,0,7,16,75,79,19,15,0,68,0,6,18,2,28,68,11,6,3,15,27,68,19,0,68,2,25,1,21,22,11,9,10,72,71,24,5,20,79,3,8,6,10,0,79,16,8,79,7,8,2,1,71,6,10,19,0,68,19,7,1,71,24,11,21,3,0,73,79,85,87,79,38,18,27,68,6,3,16,15,0,17,0,7,68,19,7,1,71,24,11,21,3,0,71,24,5,20,79,9,6,11,1,71,27,12,21,0,17,0,7,68,15,6,9,75,79,16,15,10,68,16,0,22,11,11,68,3,6,0,9,72,16,71,29,1,4,0,3,9,6,30,2,79,12,14,2,68,16,7,1,9,79,12,2,79,7,6,2,1,73,79,85,86,79,33,17,10,10,71,6,10,71,7,13,20,79,11,16,1,68,11,14,10,3,79,5,9,11,68,6,2,11,9,8,68,15,6,23,71,0,19,9,79,20,2,0,20,11,10,72,71,7,1,71,24,5,20,79,10,8,27,68,6,12,7,2,31,16,2,11,74,71,94,86,71,45,17,19,79,16,8,79,5,11,3,68,16,7,11,71,13,1,11,6,1,17,10,0,71,7,13,10,79,5,9,11,68,6,12,7,2,31,16,2,11,68,15,6,9,75,79,12,2,79,3,6,25,1,71,27,12,2,79,22,14,8,12,19,79,16,8,79,6,2,12,11,10,10,68,4,7,13,11,11,22,2,1,68,8,9,68,32,0,0,73,79,85,84,79,48,15,10,29,71,14,22,2,79,22,2,13,11,21,1,69,71,59,12,14,28,68,14,28,68,9,0,16,71,14,68,23,7,29,20,6,7,6,3,68,5,6,22,19,7,68,21,10,23,18,3,16,14,1,3,71,9,22,8,2,68,15,26,9,6,1,68,23,14,23,20,6,11,9,79,11,21,79,20,11,14,10,75,79,16,15,6,23,71,29,1,5,6,22,19,7,68,4,0,9,2,28,68,1,29,11,10,79,35,8,11,74,86,91,68,52,0,68,19,7,1,71,56,11,21,11,68,5,10,7,6,2,1,71,7,17,10,14,10,71,14,10,3,79,8,14,25,1,3,79,12,2,29,1,71,0,10,71,10,5,21,27,12,71,14,9,8,1,3,71,26,23,73,79,44,2,79,19,6,28,68,1,26,8,11,79,11,1,79,17,9,9,5,14,3,13,9,8,68,11,0,18,2,79,5,9,11,68,1,14,13,19,7,2,18,3,10,2,28,23,73,79,37,9,11,68,16,10,68,15,14,18,2,79,23,2,10,10,71,7,13,20,79,3,11,0,22,30,67,68,19,7,1,71,8,8,8,29,29,71,0,2,71,27,12,2,79,11,9,3,29,71,60,11,9,79,11,1,79,16,15,10,68,33,14,16,15,10,22,73 diff --git a/combination.hs b/combination.hs new file mode 100644 index 0000000..a8399a4 --- /dev/null +++ b/combination.hs @@ -0,0 +1,30 @@ +-- n=5 max=5 -> 12345 +-- n=5 max=6 -> 12346, 12356, 12456, 13456, 23456 +-- n=5 max=7 -> 12347, 12357, 12367, 12457, 12467... + +-- n=1 max=1 -> 1 +-- n=1 max=2 -> 2 +-- n=1 max=3 -> 3 +-- +-- n=2 max=2 -> 12 +-- n=2 max=3 -> 13, 23 +-- n=2 max=4 -> 14, 24, 34 +-- n=2 max=5 -> 15, 26, 35, 45 +-- +-- n=3 max=3 -> 123 +-- n=3 max=4 -> 124, 134, 234 +-- n=3 max=5 -> 125, 135, 235, 145, 245, 345 (n=2,max=2 ; n=2,max=3 ; n=2,max=4)++[5] +combination :: (Ord a) => Int -> a -> [a] -> [[a]] +combination 0 max list = [] +combination n max (x:xs@(y:ys)) + | x>max = [] + | n==1 && + x<=max && y>max = [[x]] + | otherwise = ( map (\z -> x:z) $ combination (n-1) max xs ) + ++ combination n max xs + +all_combinations n xs = foldr (++) [] $ map (\i -> combination n (xs!!i) xs) [(n-1)..] + +main = do + putStrLn $ show $ combination 5 5 [1..] + mapM_ putStrLn (map show $ take 50 $ all_combinations 5 [1,3..]) diff --git a/dictionnary.c b/dictionnary.c new file mode 100644 index 0000000..d58bfaa --- /dev/null +++ b/dictionnary.c @@ -0,0 +1,92 @@ +#include +#include +// Dictionnaries +typedef struct _node { + char final; + struct _node *sons[26]; +} node; + +typedef struct _node *Tree; +static Tree dictionary=NULL; +#define true 1 +#define false 0 + +Tree addword(Tree d, char *word) { + // fprintf(stderr,"addword %s\n",word); + int index = word[0] - 'A'; + int i; + if (d == NULL) { + d = (Tree)malloc(sizeof(node)); + d->final=false; + for (i=0; i<26; i++) { + d->sons[i]=NULL; + } + } + if (word[0] != '\0') { + d->sons[index]=addword(d->sons[index],word+1); + } else { + d->final = true; + } + return d; +} + +void _show_tree(Tree t, int nb_tabs) { + int i,j; + if (t == NULL) { + return; + } + for (j=0; jfinal) { fprintf(stderr, "*\n"); } + for (i=0;i<26;i++) { + if (t->sons[i] != NULL) { + fprintf(stderr,"%c\n",i+'A'); + _show_tree(t->sons[i],nb_tabs+1); + } + } +} + +void show_tree(Tree t) { + _show_tree(t,0); +} + +char is_element(Tree d, char *word) { + // fprintf(stderr,"is_element: %s\n", word); + if (d==NULL) { + // fprintf(stderr,"d is NULL\n"); + return false; + } + if (*word=='\0') { + // fprintf(stderr,"End of word\n"); + return d->final; + } + return is_element(d->sons[word[0]-'A'], word+1); +} + +#define MAX_WORD_SIZE 128 +void create_dico_from_file(char *filename) { + FILE *fd=fopen(filename,"r"); + int len; + char word[MAX_WORD_SIZE]; + char *w; + + if (fd == NULL) { + fprintf(stderr,"Unable to open the file: '%s'", filename); + exit(1); + } + + while (fgets(word, MAX_WORD_SIZE, fd)) { + for (w=word; (*w != '\n') && (*w != '\0'); w++) + ; + *w='\0'; + dictionary=addword(dictionary,word); + } + close(fd); +} + +int test(char *word) { + printf("%s: %d\n", word, is_element(dictionary,word)); +} + +// int main(int argc, char **argv) { +// create_dico_from_file("words-line.txt"); +// } diff --git a/generate_primes.rb b/generate_primes.rb new file mode 100644 index 0000000..94c8079 --- /dev/null +++ b/generate_primes.rb @@ -0,0 +1,37 @@ +limit=ARGV[0].to_i; + +crosslimit=Math.sqrt(limit); +sieve=[0]*limit; + +i=0; +while i