Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^3: Dueling Flamingos: The Story of the Fonality Christmas Golf Challenge

by primo (Scribe)
on Dec 17, 2012 at 22:38 UTC ( [id://1009253]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Dueling Flamingos: The Story of the Fonality Christmas Golf Challenge
in thread Dueling Flamingos: The Story of the Fonality Christmas Golf Challenge

It's unfortunate that those golfers did feel so very disadvantaged about not being 'in the know' about Ton's discovery. But I have to agree with Ton's words on this:

Nothing stops anyone from thinking of the magic formula for himself.

At this point, it might be worth mentioning that there are vastly many Ton-length or near-Ton-length formulae, waiting to be had by anyone who had thought to look for one. My (poorly written) brute forcer found several almost immediately:

"12e$&"%109082 # I=0, V=[89], X=[347] "12e$&"%109083 # I=0, V=7, X=[649] "12e$&"%109086 # I=0, V=4, X=[35] "14e$&"%87498 # I=0, V=2, X=6 ...

the last of which is equal in length to Ton's. Of course, the most difficult part of finding a magic formula is not writing the search algorithm, but knowing what to search for in the first place. Given that you know that you will be transliterating digits for numerals (admittedly, a logical step that I was spared), a few things should be immediately apparent:

  1. The base of the expression should increase by a factor of 10 for each digit. This follows directly from the regularity (the adding of one digit) expressed from 0-3, and again from 5-8 (Ton's expression increases by a factor of 10 plus a constant, but the result is similar).
  2. The modulo should fall between the value for 3, and the value for 4. This follows directly from the fact that 4 breaks the above mentioned regularity.
  3. The value for 5, after the modulo, should be smaller than the modulo/1000. This follows directly from the fact that the regularity beginning with 5 needs to continue until 8.

The most obvious formulation of this is "XXe$&"%YYYYYY. Had none of these worked (instead of the vastly many that do), I'm not sure if I would have thought of string repetition as a suitable candidate as Ton did, but probably not. At least, not in any short period of time.

As an aside, there are no other solutions of the form that Ton used (1x$&*XX where Ton's XX is 40). It seems that his solution truly is a one of a kind!

Replies are listed 'Best First'.
Re^4: Dueling Flamingos: The Story of the Fonality Christmas Golf Challenge
by eyepopslikeamosquito (Archbishop) on Dec 18, 2012 at 10:12 UTC

    As an aside, there are no other solutions of the form that Ton used (1x$&*XX where Ton's XX is 40). It seems that his solution truly is a one of a kind!
    In addition to the one used in the 2006 Fonality golf challenge:
    s!.!y$IVCXL426(-:$XLMCDIVX$dfor$$_.=5x$&*8%29628
    don't forget about Ton's original one (click on response by Ton Hospel) of equal length:
    s!.!y$IVCXL91-80$XLMCDXVIII$dfor$$_.=4x$&%1859^7
    used in the 2004 Polish golf tournament. BTW I got a laugh out of this response by Maciej Misiak:
    You should see some of Golfers after reading your explanation... eyes big like cups of tea, heart attacks, etc.

    Update: Here is a test program to verify that all four magic formulae are correct:

    use strict; use Roman; sub ton1 { my $t = shift; my $s; ($s.=4x$_%1859^7)=~y/IVCXL91-80/XLMCDXVIII/d for $t=~/./g; return $s } sub ton2 { my $t = shift; my $s; ($s.=5x$_*8%29628)=~y/IVCXL426(-:/XLMCDIVX/d for $t=~/./g; return $s } sub pmo1 { my $t = shift; my $s; ($s.="32e$_"%72726)=~y/CLXVI60-9/MDCLXVIX/d for $t=~/./g; return $s } sub pmo2 { my $t = shift; my $s; ($s.="57e$_"%474976)=~y/CLXVI0-9/MDCLXIXV/d for $t=~/./g; return $s } for my $i (1..3999) { my $r = uc roman($i); my $t1 = ton1($i); my $t2 = ton2($i); my $p1 = pmo1($i); my $p2 = pmo2($i); print "$i: $r\n"; $r eq $t1 or die "t1: expected '$r' got '$t1'\n"; $r eq $t2 or die "t2: expected '$r' got '$t2'\n"; $r eq $p1 or die "p1: expected '$r' got '$p1'\n"; $r eq $p2 or die "p2: expected '$r' got '$p2'\n"; } print "all tests successful\n";

      I tried many magic formulas, but this happens to be one of the first ones I tried since the $m x $& tends to multiply the result by 10 each time, so getting a result that's one longer each time, about the only somewhat regular pattern in roman numerals.

      -- Ton, remarking on how he found his magic formula back in 2004

      I suppose if I had done my research better, I would have known that Ton had reached his result based on exactly the same methodology that I posted above. But seriously:

      4x$&%1859^7

      xor 7? Now that's just crazy.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1009253]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (5)
As of 2024-03-29 08:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found