Schreiben Sie ein Programm, das eine Eingabe wie die folgenden vornimmt:
n,k
was dann berechnet:
und druckt dann das Ergebnis.
Ein numerisches Beispiel:
Eingang:
5,2
Interne Berechnung:
Gedruckte Ausgabe:
10
Ich würde gerne eine Antwort sehen, die meine Python-Lösung mit 65 Zeichen übertrifft, aber alle Sprachen sind natürlich willkommen.
Hier ist meine Lösung:
n,k=input();f=lambda x:+(x<2)or x*f(x-1);print f(n)/(f(k)*f(n-k))
Bearbeiten:
Ich gebe zu, dass diese Frage aus dem mathematischen Kombinationsrätsel der Codegolf-Website stammt . Ich weiß, dass meine Antwort so aussieht, als ob nicht viel Fortschritt gemacht werden kann, aber die Anführer dieses Puzzles haben es in fast halb so vielen Charakteren gelöst.
Die derzeit niedrigsten Zeichenzahlen nach Sprache sind:
Perl: 35
Ruby: 36
Python: 39
PHP: 62