home *** CD-ROM | disk | FTP | other *** search
- sqroot (N)
- {
- local k2, u, v, u2, n;
- if ( 2 > N) return (N);
- u = N;
- k2 = 0;
- while (u >>= 2) k2++;
- u = 1 << k2;
- v = u;
- u2 = u << k2;
- while (k2--)
- {
- v >>= 1;
- n = (u + u + v)<<k2;
- n += u2;
- if (n <= N)
- {
- u += v;
- u2 = n;
- }
- }
- return (u);
- }
-
- main()
- {
- print("Positive integer :");
- x = val(input());
- print("Integer part of square root is ",
- sqroot(x),
- "\n");
- }
-