Wow, I came up with a really weird solution then, based on the fact that append &quot;eats&quot; occurrences of empty: (append empty empty empty empty (list 4)) is (list 4).  I divided input by a copy of itself inside a call to append, then looped with (sub1 input), returning empty if input/(sub1 modified-input) wasn&#39;t a divisor, else (list input).  It&#39;s really not a generative solution, just a confusing structural one.<br>

<br><div class="gmail_quote">On Fri, Nov 5, 2010 at 06:16, Jos Koot <span dir="ltr">&lt;<a href="mailto:jos.koot@telefonica.net">jos.koot@telefonica.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">





<div>
<div dir="ltr" align="left"><font color="#0000ff" size="2" face="Arial"><span>Luke, you&#39;d better ignore my third approach and follow 
the instructions of Todd.</span></font></div>
<div dir="ltr" align="left"><font color="#0000ff" size="2" face="Arial"><span>My method is far more difficult to implement than 
Todd&#39;s methods.</span></font></div>
<div dir="ltr" align="left"><font color="#0000ff" size="2" face="Arial"><span>Jos</span></font></div><br>
<blockquote style="border-left:#0000ff 2px solid;padding-left:5px;margin-left:5px;margin-right:0px" dir="ltr">
  <div dir="ltr" lang="en-us" align="left">
  <hr>
  <font size="2" face="Tahoma"><b>From:</b> <a href="mailto:users-bounces@racket-lang.org" target="_blank">users-bounces@racket-lang.org</a> 
  [mailto:<a href="mailto:users-bounces@racket-lang.org" target="_blank">users-bounces@racket-lang.org</a>] <b>On Behalf Of </b>Jos 
  Koot<br><b>Sent:</b> 05 November 2010 12:06<br><b>To:</b> &#39;Todd O&#39;Bryan&#39;; 
  <a href="mailto:lukejordan@gmail.com" target="_blank">lukejordan@gmail.com</a><div class="im"><br><b>Cc:</b> <a href="mailto:users@racket-lang.org" target="_blank">users@racket-lang.org</a><br><b>Subject:</b> 
  Re: [racket] Generative recursion<br></div></font><br></div><div class="im">
  <div></div>
  <div dir="ltr" align="left"><span><font color="#0000ff" size="2" face="Arial">Actually there is one more way. We only have to check 
  numbers 1 up to the integer-sqrt of n. For each check whose remainder is 0, we 
  immediately have two divisors, the checking number and the 
  quotient (except when these two are equal, giving one divisor only 
  -this happens only when n is a square-))</font></span></div>
  <div dir="ltr" align="left"><span><font color="#0000ff" size="2" face="Arial"></font></span> </div>
  <div dir="ltr" align="left"><span><font color="#0000ff" size="2" face="Arial">Jos</font></span></div>
  <div dir="ltr" align="left">
  <hr>
  </div></div></blockquote></div>


</blockquote></div><br>