MathGroup Archive 2006

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

Search the Archive

Re: Random numbers according to a rule / function

  • To: mathgroup at smc.vnet.net
  • Subject: [mg68955] Re: [mg68933] Random numbers according to a rule / function
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Fri, 25 Aug 2006 05:35:11 -0400 (EDT)
  • Reply-to: hanlonr at cox.net
  • Sender: owner-wri-mathgroup at wolfram.com

conditionalRandom[test_Function, type_:Integer, range_]:=
    Module[{r},
      While[Not[test[r=Random[type,range]]]];
      r];

test1=(Mod[#,13]==0&&Mod[#,19]==0)&;

a=conditionalRandom[test1,{100,1000}]

494

test1[a]

True

test2=PrimeQ[#]&&Total[IntegerDigits[#]]==10&;

b=conditionalRandom[test2,{1,10000}]

9001

test2[b]

True


Bob Hanlon

---- bd satish <bdsatish at gmail.com> wrote: 
> Hi buddies ,
> 
>                I want to write a module / program that generates random
> numbers according to some rule (or function).
> 
> Say , "A number that is divisible by 13 & 19" or "A prime number whose sum
> of digits is exactly 10" , etc.
> 
> Let me call this module as RandomRule[ f ].   Everytime I evaluate this
> function , I must get a number 'x' such that f [x] is True.
> 
> For different invokes , RandomRule[ f ] must give different values.  There
> are no restrictions on the function ' f ' .
> 
> For simplicity, let ' x '  be an integer.
> 
>             This is what I tried :
> 
> "A number that is divisible by 13 and 19"
> 
>      I put the command
> 
>               (Mod [ # , 14 ] == 0  &&  Mod[ # , 19 ] ==0  )&
> Random[Integer,{100,1000}]
> 
>  in a Do loop until the above statement returns True. And returned the value
> of Random[Integer,{100,1000}]
> that made this statement True.
> 
>  My problem is , how can I generalize this to include ANY function ' f ' ?
> 


  • Prev by Date: Re: How to handle Arrays that has functional parameters:
  • Next by Date: Re: Re: Trigonometric simplification
  • Previous by thread: Random numbers according to a rule / function
  • Next by thread: pattern match and formatting challenge