Was haben .NET und Golf gemeinsam? Richtig, beides kann ein lustiger Zeitvertreib sein.
So war auch die zweite Aufgabe von CodeFairway mit dem Ziel verbunden, die anagrammatischen (bzw. palindromischen) Zahlen und deren Quersummen in einem gegebenen Intervall mit so wenig Codebytes wie möglich zu berechnen.
Palindrome? Anagramme? Guckst du hier.
Wie bekommt man nun die Anzahl Palindrome in einem Intervall heraus? Ganz einfach, nach der Bruteforce Methode, d.h. man testet eine Zahl nach der anderen und summiert die Anagramme auf. Die Siegerin des Turniers wurde übrigens Claudia Krolopp mit folgendem Code:
public void Off(int a,int z,out int e,out int o)
{
for(o=e=0;z>=a&z>99;z--)
for(int r=0,t=z,s=t;t>0;s+=z==r?s%2>0?o++:e++:t/=10)r=r*10+t%10;
}
Lustig, nicht? Der Nachteil an solchen Methoden ist jedenfalls die Komplexität. Je größer das Intervall wird, desto länger dauert die Berechnung. Bei der heutigen Durchschnitts-Rechenleistung der Computer versagen diese Ansätze bei Zahlenintervallen > 10 Stellen.
Deswegen habe ich mir einen anderen Weg überlegt. Der macht sich zu Nutze, dass in jeder Zahl selbst die Anzahl der Anagramme für das aktuelle Intervall versteckt ist. Diese muss nur berechnet und mit der Anzahl der vohergehenenden Intervalle addiert werden. Wie ich das genau mache, kannst du hier nachlesen.
Diese Methode hat den Vorteil, dass er auf jede beliebig große Zahl angewendet werden kann. Bei meiner Implementation ist nur aus computertechnischen Gründen die Anzahl der Stellen auf 9223372036854775807 begrenzt, also bitte nicht übertreiben 
Hier gehts zu eine Online Version
Und hier kannst du eine Offline Version downloaden. Voraussetzung ist nur das .NET Framework.
Screenshot Offline Version:

Info: Bei beiden Applikationen gehen die Palindrom-Zahlen erst ab 3 Stellen (also der 101) los.
btw, dass ich mit dieser Methode nur letzter im Turnier wurde (ca. 580 Byte), muss ich nicht extra erwähnen, oder? 