Codegolf: Difference between revisions

From NoName e.V.
Jump to navigation Jump to search
No edit summary
Line 31: Line 31:
  kungi@BeerBook: wc golf.py                                                                                                                   
  kungi@BeerBook: wc golf.py                                                                                                                   
       6      16    144 golf.py
       6      16    144 golf.py
==== k-zed: common lisp ====
(with-open-file (s "/usr/share/dict/web2")
  (let ((d (make-hash-table :test #'equal)))
    (loop for l = (read-line s nil) until (not l)
          do (setf (gethash (string-downcase l) d) t))
    (maphash
      (lambda (k v)
        (let ((p (map 'string (lambda (c) (code-char (+ (mod (- (char-code c) 84) 26) 97))) k)))
          (when (gethash p d) (format t "~A -> ~A~%" k p)))) d)))


[[Category:Projekte]]
[[Category:Projekte]]

Revision as of 14:15, 18 September 2007

Challenge #1

<SdK> gibts wörter, die nach rot13 n anderes existierendes wort ergeben?

mxf: Perl

perl -nle'$w{+lc}++}for(keys%w){$r=$_;y/a-z/n-za-m/;$w{$_}&&print"$r -> $_' /usr/share/dict/web2

65+2 Zeichen

urs: Perl

perl -nle'($u=$a{$i=$_=lc})&&print"$_->$u";y;a-z;n-za-m;;$a{$_}=$i' /usr/share/dict/web2

56+2 Zeichen

PhilFry: Ruby

ruby -e'y={};$<.each{|w|w.chop!.downcase!;y[w]=0;r=w.tr"a-z","n-za-m";y[r]&&(p w+"->"+r)}' < /usr/share/dict/web2

81 Zeichen

Ch3ka: php

<?$f=file($argv[1]);while($a[]=strtolower(next($f))){}while($b[]=str_rot13(next($a))){$c=end($b);if(in_array($c,$a))echo$c;}?>

122 Chrs

Kungi: Python

import sys
e={};e=e.fromkeys(open(sys.argv[1]).read().lower().split(),0)
for w in e.keys():
 b=w.encode('rot13')
 if b in e:
  print w+" -> "+b
kungi@BeerBook: wc golf.py                                                                                                                  
      6      16     144 golf.py

k-zed: common lisp

(with-open-file (s "/usr/share/dict/web2")
  (let ((d (make-hash-table :test #'equal)))
    (loop for l = (read-line s nil) until (not l)
          do (setf (gethash (string-downcase l) d) t))
    (maphash
      (lambda (k v)
        (let ((p (map 'string (lambda (c) (code-char (+ (mod (- (char-code c) 84) 26) 97))) k)))
          (when (gethash p d) (format t "~A -> ~A~%" k p)))) d)))