形式仕様記述言語であるZ言語で、この問題の仕様を書くと、こんな感じになる。(p.35)
| | iroot : N→N
|−−−−−− |∀a : N・ | iroot (a) * iroot (a) ≦ a <(iroot (a) + 1) * (iroot (a) + 1) |
一方、C言語で、この問題を解くプログラムは、こんな感じになる。(p.36)
| int iroot(int a)
/* Integer square root */ { int i,term,sum; term=1; sum=1;
|
"the way of Z"では以下のような説明が続く(以下、少々サボった訳)