Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
NCTM or The Math Forum.


Math Forum
»
Discussions
»
sci.math.*
»
sci.math
Notice: We are no longer accepting new posts, but the forums will continue to be readable.
Topic:
make 100 by using 1, 7, 7, 7, 7
Replies:
41
Last Post:
Nov 15, 2007 6:13 PM



amzoti
Posts:
1,113
Registered:
3/6/07


Re: make 100 by using 1, 7, 7, 7, 7
Posted:
Nov 13, 2007 4:10 PM


On Nov 13, 12:05 pm, Robert Israel <isr...@math.MyUniversitysInitials.ca> wrote: > Kira Yamato <kira...@earthlink.net> writes: > > On 20071113 13:22:13 0500, Robert Israel > > <isr...@math.MyUniversitysInitials.ca> said: > > > > "Benjamin A. Bartsch" <benjamin.a.bart...@gmail.com> writes: > > > >> dangerousgam...@gmail.com schrieb: > > >>> So, using only +, , x, /, and parentheses, and ONLY these numbers: > > > >>> 1, 7, 7, 7, 7 > > > >>> how can you make 100? Is there more than one solution? > > > >> > (1/7+7)*(7+7) > > > >> Benjamin > > > > Yes, and that's the only solution (up to commutativity). > > > I'm very curious how you concluded this. Was it by a program that > > tests through all possible combinations? > > > I tried to write a program too, but I stop when I couldn't quickly find > > a way to list out all possible trees with 7 leaves. > > Here's my search program, written in Maple. > > trees:= proc(S) > option remember; > local oper,SL,L,res,ret,V,W,v,w,R,r; > if nops(S) = 1 then {[op(S),op(S)]} > else > res:= {}; ret:= {}; > for oper in [`+`,``,`/`,`*`] do > for SL in combinat[powerset]({$1..nops(S)}) do > if nops(SL) > 0 and nops(SL) < nops(S) then > L:= sort([seq(S[j],j=SL)]); > R:= sort([seq(S[j],j=({$1..nops(S)} minus SL))]); > V:= trees(L); > W:= trees(R); > for v in V do > for w in W do > if ((oper = `+`) or (oper = `*`)) and (v[1] > w[1]) then next > end if; > try > r:= oper(v[1],w[1]); > catch: next; > end try; > res:= res union {r}; > ret:= ret union {[r, [v[2],oper,w[2]]]}; > end do > end do > end if > end do > end do; > ret > end if > end proc; > > > select(t > (t[1]=100), T); > > {[100, [[[1, /, 7], +, 7], *, [7, +, 7]]]} >  > Robert Israel isr...@math.MyUniversitysInitials.ca > Department of Mathematics http://www.math.ubc.ca/~israel > University of British Columbia Vancouver, BC, Canada Hide quoted text  > >  Show quoted text 
Very nice!



