You can really impress 'em by pointing out that this problem is related to some common ways of representing numbers and arithmetic operations in the lambda calculus.
On Aug 24, 7:16 pm, Ashish Goel <ashg...@gmail.com> wrote: > inline int decrease (int v) { > int decreasedVal = 0; > int counter = 0; > loop( v) and { decreasedVal = counter; counter++}; > return decreasedValue; > > } > > Need to think a better way for subtracting one variable from other also > > inline int subtract(int a, int b) { > loop (b) decrease(a); > > } > > division ??? how to compare two variables????? > > return a; > Best Regards > Ashish Goel > "Think positive and find fuel in failure" > +919985813081 > +919966006652 > > > > On Tue, Aug 24, 2010 at 9:44 PM, CraZyBoY <shrish...@gmail.com> wrote: > > You have an abstract computer, so just forget everything you know > > about computers, this one only does what I'm about to tell you it > > does. You can use as many variables as you need, there are no negative > > numbers, all numbers are integers. You do not know the size of the > > integers, they could be infinitely large, so you can't count on > > truncating at any point. There are NO comparisons allowed, no if > > statements or anything like that. > > > There are only four operations you can do on a variable. > > 1) You can set a variable to 0. > > 2) You can set a variable = another variable. > > 3) You can increment a variable (only by 1), and it's a post > > increment. > > 4) You can loop. So, if you were to say loop(v1) and v1 = 10, your > > loop would execute 10 times, but the value in v1 wouldn't change so > > the first line in the loop can change value of v1 without changing the > > number of times you loop. > > > You need to do 3 things. > > 1) Write a function that decrements by 1. > > 2) Write a function that subtracts one variable from another. > > 3) Write a function that divides one variable by another. > > 4) See if you can implement all 3 using at most 4 variables. Meaning, > > you're not making function calls now, you're making macros. And at > > most you can have 4 variables. The restriction really only applies to > > divide, the other 2 are easy to do with 4 vars or less. Division on > > the other hand is dependent on the other 2 functions, so, if subtract > > requires 3 variables, then divide only has 1 variable left unchanged > > after a call to subtract. Basically, just make your function calls to > > decrement and subtract so you pass your vars in by reference, and you > > can't declare any new variables in a function, what you pass in is all > > it gets. > > > -- > > You received this message because you are subscribed to the Google Groups > > "Algorithm Geeks" group. > > To post to this group, send email to algoge...@googlegroups.com. > > To unsubscribe from this group, send email to > > algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com> > > . > > For more options, visit this group at > >http://groups.google.com/group/algogeeks?hl=en.- Hide quoted text - > > - Show quoted text - -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algoge...@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.