Advertisement
Guest User

Untitled

a guest
Sep 30th, 2014
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.64 KB | None | 0 0
  1.  
  2. #!/bin/bash
  3.  
  4. function die(){ echo $@ && exit -1; }
  5.  
  6. if [ $# -ne 1 ]; then die "zadej 1 parametr"; fi
  7. let n=$1
  8. if ! ((n&1)); then die "parametr musi byt lichy"; fi
  9. let "m=n>>1"
  10.  
  11. while let "y < n"; do
  12.   let "c=m>y?y:n-y-1"
  13.   d=0; while let "d < c"; do
  14.     let "cur=((n-(d<<1))*(n-(d<<1)-1)-y+1+d++)"
  15.     printf "%3d " $cur
  16.   done
  17.   d=1; while let "d <= (n-(c<<1))"; do
  18.     let "cur=((n-(c<<1))*(n-(c<<1)-1)+(m>y?d++:(-((m-1-c)<<1)-d++)))"
  19.     printf "%3d " $cur
  20.   done
  21.   d=0; while let "d < c"; do
  22.     let "cur=((n-((c-d)<<1))*(n-((c-d)<<1))-((c-d-1)<<1)+y-1+c-d++)"
  23.     printf "%3d " $cur
  24.   done
  25.   printf "\n"
  26.   let y++
  27. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement