|Portada|Blog|Space|

[Índice] > ¿Sabía usted?

¿Sabía usted que las dos palabras más distantes en castellano usando un
celular con diccionario y escritas apretando la misma secuencia de teclas son:
compás y añorar?

iconv -f latin1 -t utf8 < /usr/share/myspell/dicts/es_ES.dic | ./programa.awk

El código:

#!/usr/bin/awk -f
function rep(str) {
  str = tolower(str);		gsub(/[abcá]/, "a", str);	gsub(/[defé]/, "d", str)
  gsub(/[ghií]/, "g", str);	gsub(/[jkl]/, "j", str);	gsub(/[mnoñó]/, "m", str)
  gsub(/[pqrs]/, "p", str);	gsub(/[tuvú]/, "t", str);	gsub(/[wxyz]/, "w", str)
  return (str "/" length(str))
}

function delta(s1, s2,    i, dist) {
  dist = 0
  for (i=length(s1); i>=1; i--)
    if (substr(s1, i, 1) != substr(s2, i, 1))
      dist++
  return dist
}

NR>2 {
  sub(/\/.*/, "")
  r = rep($0)
  W[r, C[r]++] = tolower($0)
}

END {
  maxd = -1
  for (class in C)
    for (i=C[class]-1; i>0; i--)
      for (j=i-1; j>=0; j--) {
	d = delta(W[class, i], W[class, j])
	if (d > maxd) {
	  maxd = d
	  words = W[class, i] ", " W[class, j]
	}
      }
  print words
}

---------
Los documentos en este sitio se encuentran licenciados bajo la GFDL.
Ver comentarios: [Hay i comentarios]
Para agregar un comentario: agregue a la URL: ?do=show_comment_form (explicación)