Personal tools

Euler problems/141 to 150

From HaskellWiki

< Euler problems(Difference between revisions)
Jump to: navigation, search
(Removing category tags. See Talk:Euler_problems)
Line 36: Line 36:
 
Solution:
 
Solution:
 
<haskell>
 
<haskell>
problem_145 = undefined
+
import List
  +
  +
digits n
  +
{- 123->[3,2,1]
  +
-}
  +
|n<10=[n]
  +
|otherwise= y:digits x
  +
where
  +
(x,y)=divMod n 10
  +
-- 123 ->321
  +
dmm=(\x y->x*10+y)
  +
palind n=foldl dmm 0 (digits n)
  +
  +
isOdd x=(length$takeWhile odd x)==(length x)
  +
isOdig x=isOdd m && s<=h
  +
where
  +
k=x+palind x
  +
m=digits k
  +
y=floor$logBase 10 $fromInteger x
  +
ten=10^y
  +
s=mod x 10
  +
h=div x ten
  +
  +
a2=[i|i<-[10..99],isOdig i]
  +
aa2=[i|i<-[10..99],isOdig i,mod i 10/=0]
  +
a3=[i|i<-[100..999],isOdig i]
  +
m5=[i|i1<-[0..99],i2<-[0..99],
  +
let i3=i1*1000+3*100+i2,
  +
let i=10^6* 8+i3*10+5,
  +
isOdig i
  +
]
  +
  +
fun i
  +
|i==2 =2*le aa2
  +
|even i=(fun 2)*d^(m-1)
  +
|i==3 =2*le a3
  +
|i==7 =fun 3*le m5
  +
|otherwise=0
  +
where
  +
le=length
  +
m=div i 2
  +
d=2*le a2
  +
  +
problem_145 = sum[fun a|a<-[1..9]]
 
</haskell>
 
</haskell>
   

Revision as of 01:49, 14 December 2007

Contents

1 Problem 141

Investigating progressive numbers, n, which are also square.

Solution:

problem_141 = undefined

2 Problem 142

Perfect Square Collection

Solution:

problem_142 = undefined

3 Problem 143

Investigating the Torricelli point of a triangle

Solution:

problem_143 = undefined

4 Problem 144

Investigating multiple reflections of a laser beam.

Solution:

problem_144 = undefined

5 Problem 145

How many reversible numbers are there below one-billion?

Solution:

import List
 
digits n 
{-  123->[3,2,1]
 -}
    |n<10=[n]
    |otherwise= y:digits x 
    where
    (x,y)=divMod n 10
-- 123 ->321
dmm=(\x y->x*10+y)
palind n=foldl dmm 0 (digits n) 
 
isOdd x=(length$takeWhile odd x)==(length x)
isOdig x=isOdd m && s<=h
    where
    k=x+palind x
    m=digits k
    y=floor$logBase 10 $fromInteger x
    ten=10^y
    s=mod x 10
    h=div x ten
 
a2=[i|i<-[10..99],isOdig i]
aa2=[i|i<-[10..99],isOdig i,mod i 10/=0]
a3=[i|i<-[100..999],isOdig i]
m5=[i|i1<-[0..99],i2<-[0..99],
      let i3=i1*1000+3*100+i2,
      let i=10^6*   8+i3*10+5,
      isOdig i
   ]
 
fun i
    |i==2  =2*le aa2
    |even i=(fun 2)*d^(m-1)
    |i==3  =2*le a3
    |i==7  =fun 3*le m5
    |otherwise=0
    where
    le=length
    m=div i 2
    d=2*le a2
 
problem_145 = sum[fun a|a<-[1..9]]

6 Problem 146

Investigating a Prime Pattern

Solution:

problem_146 = undefined

7 Problem 147

Rectangles in cross-hatched grids

Solution:

problem_147 = undefined

8 Problem 148

Exploring Pascal's triangle.

Solution:

problem_148 = undefined

9 Problem 149

Searching for a maximum-sum subsequence.

Solution:

problem_149 = undefined

10 Problem 150

Searching a triangular array for a sub-triangle having minimum-sum.

Solution:

problem_150 = undefined