Re: Help with "If" statement within "Table"
- To: mathgroup at smc.vnet.net
- Subject: [mg90549] Re: Help with "If" statement within "Table"
- From: Bill Rowe <readnews at sbcglobal.net>
- Date: Sat, 12 Jul 2008 05:34:25 -0400 (EDT)
On 7/11/08 at 2:02 AM, diana.mecum at gmail.com (Diana) wrote: >I am trying to write a small program to count the number of divisors >of a number which have at least one coprime neighbor, and secondly >the number of divisors which have two coprime neighbors, (one on >each side). >For example, the divisors of 60 are {1, 2, 3, 4, 5, 6, 10, 12, 15, >20, 30, 60}. 6 of the divisors have at least one coprime neighbor, >and 5 of the divisors have two coprime neighbors. >In doing this, I have written the following statement. "n" is the >number for which I am calculating divisors, and "A136164" is my >first list, the of number of divisors in the "at least one neighbor" >case. For some reason, A136164 is not updating when the "If" >statement is executed within the "Table" statement. Can someone help >me? I did not try to figure out why the code you posted didn't give you the desired result. But here is a way to select all of the factors that have at least one coprime neighbor. In[18]:= factors = {1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60}; In[19]:= Pick[Rest@factors, CoprimeQ @@@ Partition[factors, 2, 1], True] Out[19]= {2,3,4,5,6} And this picks out all the factors that have a coprime on either side In[20]:= Most@ Pick[factors[[3 ;;]], And @@@ Partition[CoprimeQ @@@ Partition[factors, 2, 1], 2, 1], True] Out[20]= {3,4,5} Note, I intentionally excluded 1 from these lists. If one is to be included then it should be on the first list and that means 2 should be included on the second list.