good chemistry is complicated,and a little bit messy -LW PerlMonks

### Re: LFSR golf

 on May 08, 2001 at 12:31 UTC ( #78776=note: print w/replies, xml ) Need Help??

```sub l{my(\$s,\$t)=@_;sub {(\$s=(\$s.(((my \$x=\$s+\$t)=~y/1/1/d)%9%2)))=~s/5.
+/5/;\$s}}
\$x=l("50101","0022");print (\$x->(),\$x->(),\$x->(),\$x->());
The first line is the generating sub (containing 79 chars) and the second one is an usage example.

Replies are listed 'Best First'.
73 chars, called on a foul (Re: LFSR golf)
by tye (Sage) on May 08, 2001 at 18:32 UTC

I don't mind the departure in how you call the generating function but I'm going to disqualify this one for having the closure return "50101" instead of 0 and "51100" instead of 1.

If you were shifting the other direction, then a simple &1 at the end of the closure would solve the problem and give you a 73-character solution (not counting the "sub l{" and "}", as usual).

I'm sure this general approach can be modified such that I'd accept it but I'll leave that to you or whoever beats you to it. (:

- tye (but my friends call me "Tye")
Didn't know you wanted that. OK. New version (72 chars)
```sub l{
my(\$s,\$t)=@_;sub{(\$s=(\$s.(((my\$x=\$s+\$t)=~y/1/1/d)%9%2)))=~s/5(.)/5/;\$1
+}
}
\$x=l("50101","0022");print (\$x->(),\$x->(),\$x->(),\$x->());

Create A New User
Node Status?
node history
Node Type: note [id://78776]
help
Chatterbox?
 [Corion]: Hmm - my Italian isn't that great - I assume this is more an accident and less an art project, right? [Discipulus]: yes we are falling down [Corion]: Discipulus: As is great tradition, just build another level on it ;)

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (8)
As of 2017-02-28 10:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
Before electricity was invented, what was the Electric Eel called?

Results (399 votes). Check out past polls.