Re: extract from list and keep track

• To: mathgroup at smc.vnet.net
• Subject: [mg62155] Re: extract from list and keep track
• From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
• Date: Sun, 13 Nov 2005 02:08:35 -0500 (EST)
• Organization: The Open University, Milton Keynes, UK
• References: <dl4ah1\$j48\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Andrea wrote:
> I'm trying to write a program for the following. Seems simple, but I'm
> unable to to do it:
>
> I have a list of increasing odd numbers. I want to create a table that
> indicates which numbers in this list are 1(mod 8) and 7(mod 8) and what
> position in the list these numbers have.
> Then I would like to have them removed form the list to get a new (reduced)
> list.
>
>
> Example: 3, 7, 9, 21, 43, 57, 63, 71, 75, 99.   I want to form this a Table:
>
> 2      7
> 3      9
> 6    57
> 7    63
> 8    71
>
> 7 is 7(mod 8) and is the 2nd member in the list, 9 is 1(mod 8) and is the
> 3rd member in the list, etc.
>
> The next list would become, having removed the ones in the table:
>
> 3, 21, 43, 75, 99
>
> And I would be using some other congruence criteria. Etc.
>
> Thanks,
> Andrea
>
Hi Andrea,

Since your question looks like a homework assignment and you did not
show  whatever you tried, I will show you one possible approaches with a
related problem (we look for numbers,say , greater than 10). From this
working solution and using a combination of *Mod* built-in functions you

In[1]:=
data = {3, 7, 9, 21, 43, 57, 63, 71, 75, 99}

Out[1]=
{3, 7, 9, 21, 43, 57, 63, 71, 75, 99}

In[2]:=
Position[data, _?(#1 > 10 & )]

Out[2]=
{{4}, {5}, {6}, {7}, {8}, {9}, {10}}

In[3]:=
data[[Flatten[%]]]

Out[3]=
{21, 43, 57, 63, 71, 75, 99}

In[4]:=
TableForm[Transpose[{%%, %}]]

In[5]:=
DeleteCases[data, _?(#1 > 10 & )]

Out[5]=
{3, 7, 9}

Best regards,
/J.M.

```

• Prev by Date: Re: Re: Re: Plot Angle between Vectors
• Next by Date: Re: Types in Mathematica
• Previous by thread: Re: extract from list and keep track
• Next by thread: Re: extract from list and keep track