num_plus_sep

 

  
  
  
  
  1. #!/bin/bash 
  2.  
  3. shopt -s extglob 
  4.   
  5. rmzero(){ b=${i:1}; b=${b/*(0)/}; [[ ! ${b} ]] && b=0; ((j=i-b)); } 
  6. run.unique() 
  7.    (( ! ${#mox[@]} )) && return 
  8.    local t mid 
  9.    declare -A mid 
  10.    for((t=0; t!=${#mox[@]}; ++t)); do 
  11.         mid[${mox[t]}]=${mox[t]} 
  12.    done 
  13.    echo ${i} : ${mid[@]} 
  14.  
  15. per.sum() 
  16.    i=10 
  17.    rmzero 
  18.    for((k=0; i!=${1}+1; ++k)); do 
  19.         s=${j/${j:k:1}/} 
  20.         p=${s/*(0)/} 
  21.         (( j+p == i )) &&((mox[${#mox[@]}]=j))  
  22.         (( k+1 == ${#j} )) && { k=-1; ((++j)); } 
  23.         (( j == i )) && { k=-1; run.unique; ((++i)); rmzero; mox=(); } 
  24.    done 
  25.  
  26. per.sum ${1:-50} 

本文出自 “永夜” 博客,谢绝转载!

你可能感兴趣的:(shell,shopt,extglob,num,Plus,SEP)