I assume that loop(0) skips the body of the loop. 1. If given m > 0, this code sets m = m - 1. If given m = 0, it leaves m = 0.
k = 0; loop(m) { m = k; k++; } 2. If given m >= n, this code sets m = m - n. If given m < n, it sets m = 0. loop(n) { k = 0; loop(m) { m = k; k++; } } This is algorithm 1 as the body of a loop(n) statement. 3. I'm still working on division. Back to you later. Dave On Jul 24, 11:45 am, BALARUKESH <sbalarukesh1...@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. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.