MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: functional programming

  • To: mathgroup at smc.vnet.net
  • Subject: [mg63017] Re: functional programming
  • From: Bill Rowe <readnewsciv at earthlink.net>
  • Date: Sun, 11 Dec 2005 04:56:38 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

On 12/10/05 at 6:02 AM, mike_in_england2000 at yahoo.co.uk wrote:

>As a long time C++ programmer I am terrible at functional
>programming. I recently replied to a post on here concerning
>diophantine equations and provided the following code:

>dioph[x_, k_] := (5 x)^2 - 2^k*3*(5 + k)^2 - 131*k - 7
>Reap[
>  Do[
>    Do[
>      If[dioph[x, k] == 0, Sow[{x, k}];];
>      , {x, 0, 1000}
>      ]
>    , {k, 0, 1000}
>    ]]

>How could I have rewritten my orginal code using Functional
>programming? 

>I tried

>dioph[x_, k_] := If[(5 x)^2 - 2^k*3*(5 + k)^2 - 131*k - 7 == 0, {x,
>k}]; Table[dioph[x, k], {x, 0, 10}, {k, 0, 10}];

Here is one approach

Cases[
  Flatten[
    Table[{x, k, (5*x)^2 - 2^k*3*(5 + k)^2 - 131*k - 7}, {x, 50}, 
      {k, 50}], 
    1],
  {__, 0}]

{{31, 6, 0}}

Another approach would be

dioph[x_, k_] := (5*x)^2 - 2^k*3*(5 + k)^2 - 131*k - 7

Cases[
  Flatten[
    Outer[{#1, #2, dioph[#1, #2]}&, Range[50], Range[50]],
    1],
  {__, 0}]

{{31, 6, 0}}
--
To reply via email subtract one hundred and four


  • Prev by Date: Re: Assign a value to a variable
  • Next by Date: Re: A list of numbers without "73"
  • Previous by thread: functional programming
  • Next by thread: Re: functional programming