w******p 发帖数: 166 | 1 来自主题: Programming版 - 求个好方法 implementing your algorithm:
awk 'function numlen(n){if(n<0)n=-n;if(n==0)return 0;return int(log(n)/log(
10))+1}BEGIN{maxsim=0;maxlen=0;ant=503778;antlen=numlen(ant)}{len=numlen($1)
; adj=ant; inp=$1; if(antlen>len){adj=int(ant/10**(antlen-len));sim=len}else
{inp=int(inp/10**(len-antlen));sim=antlen}; while(inp!=adj){inp=int(inp/10);
adj=int(adj/10);sim--};if(sim>maxlen){maxlen=sim;maxsim=$1}}END{print "
MAXSIM:"maxsim}' |
|
w******p 发帖数: 166 | 2 来自主题: Programming版 - 求个好方法 implementing your algorithm:
awk 'function numlen(n){if(n<0)n=-n;if(n==0)return 0;return int(log(n)/log(
10))+1}BEGIN{maxsim=0;maxlen=0;ant=503778;antlen=numlen(ant)}{len=numlen($1)
; adj=ant; inp=$1; if(antlen>len){adj=int(ant/10**(antlen-len));sim=len}else
{inp=int(inp/10**(len-antlen));sim=antlen}; while(inp!=adj){inp=int(inp/10);
adj=int(adj/10);sim--};if(sim>maxlen){maxlen=sim;maxsim=$1}}END{print "
MAXSIM:"maxsim}' |
|