lev.pike 472 B

12345678910111213141516171819202122232425262728
  1. int main(int argc, array(string) argv) {
  2. write(leven(argv[1], argv[2]) + "\n");
  3. }
  4. int leven(string s, string t) {
  5. if (s == "") {
  6. return sizeof(t);
  7. }
  8. if (t == "") {
  9. return sizeof(s);
  10. }
  11. string s1 = s[1..];
  12. string t1 = t[1..];
  13. return (
  14. s[0] == t[0]
  15. ? leven(s1, t1)
  16. : 1 + min(
  17. leven(s1, t1),
  18. leven(s, t1),
  19. leven(s1, t )
  20. )
  21. );
  22. }