<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
I tried to get you to approach this as though nobody had told you about generative recursion. <br><br>In which case you would/should have tried the tried and tested formula you know, which should have led you to <br>(tabulate-div 20) and the simple recursion that follows is (tabulate-div 19). <br><br>You have rightly concluded that <br><br>a) (tabulate-div 19) will give you all the divisors of 19 <br>b) this is irrelevant to the solution you seek. <br><br>So the inference to draw is <br><br> (tabulate-div 19) is not relevant to the answer I seek -> <br> whatever led me to (tabulate-div 19) is not going to lead me to the right answer -><br> Now if simple numeric recursion led me to (tabulate-div 19) -><br> simple numeric recursion is not going to lead me to the right answer.<br><br>So we need something else.<br><br><br>START OF DIGRESSION<br>I encouraged you to forget about generative recursion as it is not common parlance, but I'll try to explain it.<br><br>With recursion you want to repeat over a smaller instance of the problem. So it needs to shrink somehow<br>with each iteration.<br>Up till now the data structures you have encountered have been (or have been made to look) recursive, so that the <br>smaller instance of the problem falls out naturally from the data structure. <br><br>With a list you get a smaller instance with (rest list). With numbers you get a smaller instance with (sub1 n).<br>Generative recursion is used to describe the instance where you have to perform so form of manipulation of the data<br>to get a smaller instance because structural recursion will not give you what you want.<br><br>You can contrast between the 2 by looking at how the recursive case in gcd-structural is generated and comparing it to how the recursive case in gcd-generative is generated.<br><br>END OF DIGRESSION<br><br>So we agree that we need something other than the standard numeric structural recursion.<br><br>Now let me embellish (with capitals) slightly what I said in my previous post<br><br><font style="" class="fixed_width" face="Courier, Monospaced">Lets take your
solution to the 1st problem - you generated 1 by dividing n by n (i.e
20/20) and your idea was to divide each successive problem YOU GENERATE by n AND SEE IF IT GAVE YOU A ZERO REMAINDER.</font><BR><br><font style="" class="fixed_width" face="Courier, Monospaced">Hmmm?
That suggests that on each iteration you need to have the original
value of n available - how are you going to achieve that. </font><br><br>So before you go any further answer that question.<br><br><br><br><br><br><br><br>                                            </body>
</html>