Data update
This commit is contained in:
parent
5150844a7d
commit
4bb20c9b71
7735 changed files with 38060 additions and 199180 deletions
|
|
@ -1,12 +1,3 @@
|
|||
F commatize(number, step = 3, sep = ‘,’)
|
||||
V s = reversed(String(number))
|
||||
String r = s[0]
|
||||
L(i) 1 .< s.len
|
||||
I i % step == 0
|
||||
r ‘’= sep
|
||||
r ‘’= s[i]
|
||||
R reversed(r)
|
||||
|
||||
F isqrt(BigInt x)
|
||||
assert(x >= 0)
|
||||
|
||||
|
|
@ -27,7 +18,7 @@ F isqrt(BigInt x)
|
|||
R r
|
||||
|
||||
print(‘The integer square root of integers from 0 to 65 are:’)
|
||||
L(i) 66
|
||||
L(i) 0.<66
|
||||
print(isqrt(BigInt(i)), end' ‘ ’)
|
||||
print()
|
||||
|
||||
|
|
|
|||
|
|
@ -1,87 +0,0 @@
|
|||
with Ada.Text_Io;
|
||||
with Ada.Numerics.Big_Numbers.Big_Integers;
|
||||
with Ada.Strings.Fixed;
|
||||
|
||||
procedure Integer_Square_Root is
|
||||
|
||||
use Ada.Numerics.Big_Numbers.Big_Integers;
|
||||
use Ada.Text_Io;
|
||||
|
||||
function Isqrt (X : Big_Integer) return Big_Integer is
|
||||
Q : Big_Integer := 1;
|
||||
Z, T, R : Big_Integer;
|
||||
begin
|
||||
while Q <= X loop
|
||||
Q := Q * 4;
|
||||
end loop;
|
||||
Z := X;
|
||||
R := 0;
|
||||
while Q > 1 loop
|
||||
Q := Q / 4;
|
||||
T := Z - R - Q;
|
||||
R := R / 2;
|
||||
if T >= 0 then
|
||||
Z := T;
|
||||
R := R + Q;
|
||||
end if;
|
||||
end loop;
|
||||
return R;
|
||||
end Isqrt;
|
||||
|
||||
function Commatize (N : Big_Integer; Width : Positive) return String is
|
||||
S : constant String := To_String (N, Width);
|
||||
Image : String (1 .. Width + Width / 3) := (others => ' ');
|
||||
Pos : Natural := Image'Last;
|
||||
begin
|
||||
for I in S'Range loop
|
||||
Image (Pos) := S (S'Last - I + S'First);
|
||||
exit when Image (Pos) = ' ';
|
||||
Pos := Pos - 1;
|
||||
if I mod 3 = 0 and S (S'Last - I + S'First - 1) /= ' ' then
|
||||
Image (Pos) := ''';
|
||||
Pos := Pos - 1;
|
||||
end if;
|
||||
end loop;
|
||||
return Image;
|
||||
end Commatize;
|
||||
|
||||
type Mode_Kind is (Tens, Ones, Spacer, Result);
|
||||
begin
|
||||
Put_Line ("Integer square roots of integers 0 .. 65:");
|
||||
for Mode in Mode_Kind loop
|
||||
for N in 0 .. 65 loop
|
||||
case Mode is
|
||||
when Tens => Put ((if N / 10 = 0
|
||||
then " "
|
||||
else Natural'Image (N / 10)));
|
||||
when Ones => Put (Natural'Image (N mod 10));
|
||||
when Spacer => Put ("--");
|
||||
when Result => Put (To_String (Isqrt (To_Big_Integer (N))));
|
||||
end case;
|
||||
end loop;
|
||||
New_Line;
|
||||
end loop;
|
||||
New_Line;
|
||||
|
||||
declare
|
||||
package Integer_Io is new Ada.Text_Io.Integer_Io (Natural);
|
||||
use Ada.Strings.Fixed;
|
||||
N : Integer := 1;
|
||||
P, R : Big_Integer;
|
||||
begin
|
||||
Put_Line ("| N|" & 80 * " " & "7**N|" & 30 * " " & "isqrt (7**N)|");
|
||||
Put_Line (133 * "=");
|
||||
loop
|
||||
P := 7**N;
|
||||
R := Isqrt (P);
|
||||
Put ("|"); Integer_Io.Put (N, Width => 3);
|
||||
Put ("|"); Put (Commatize (P, Width => 63));
|
||||
Put ("|"); Put (Commatize (R, Width => 32));
|
||||
Put ("|"); New_Line;
|
||||
exit when N >= 73;
|
||||
N := N + 2;
|
||||
end loop;
|
||||
Put_Line (133 * "=");
|
||||
end;
|
||||
|
||||
end Integer_Square_Root;
|
||||
|
|
@ -4,8 +4,8 @@ commatize: function [x][
|
|||
|
||||
isqrt: function [x][
|
||||
num: new x
|
||||
q: new 1
|
||||
r: new 0
|
||||
q: 1
|
||||
r: 0
|
||||
|
||||
while [q =< num]-> shl.safe 'q 2
|
||||
while [q > 1][
|
||||
|
|
@ -14,7 +14,7 @@ isqrt: function [x][
|
|||
shr 'r 1
|
||||
if t >= 0 [
|
||||
num: t
|
||||
r: new r+q
|
||||
r: r+q
|
||||
]
|
||||
]
|
||||
return r
|
||||
|
|
|
|||
|
|
@ -1,74 +0,0 @@
|
|||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. I-SQRT.
|
||||
|
||||
DATA DIVISION.
|
||||
WORKING-STORAGE SECTION.
|
||||
01 QUAD-RET-VARS.
|
||||
03 X PIC 9(18).
|
||||
03 Q PIC 9(18).
|
||||
03 Z PIC 9(18).
|
||||
03 T PIC S9(18).
|
||||
03 R PIC 9(18).
|
||||
|
||||
01 TO-65-VARS.
|
||||
03 ISQRT-N PIC 99.
|
||||
03 DISP-LN PIC X(22) VALUE SPACES.
|
||||
03 DISP-FMT PIC Z9.
|
||||
03 PTR PIC 99 VALUE 1.
|
||||
|
||||
01 BIG-SQRT-VARS.
|
||||
03 POW-7 PIC 9(18) VALUE 7.
|
||||
03 POW-N PIC 99 VALUE 1.
|
||||
03 POW-N-OUT PIC Z9.
|
||||
03 POW-7-OUT PIC Z(10).
|
||||
|
||||
PROCEDURE DIVISION.
|
||||
BEGIN.
|
||||
PERFORM SQRTS-TO-65.
|
||||
PERFORM BIG-SQRTS.
|
||||
STOP RUN.
|
||||
|
||||
SQRTS-TO-65.
|
||||
PERFORM DISP-SMALL-SQRT
|
||||
VARYING ISQRT-N FROM 0 BY 1
|
||||
UNTIL ISQRT-N IS GREATER THAN 65.
|
||||
|
||||
DISP-SMALL-SQRT.
|
||||
MOVE ISQRT-N TO X.
|
||||
PERFORM ISQRT.
|
||||
MOVE R TO DISP-FMT.
|
||||
STRING DISP-FMT DELIMITED BY SIZE INTO DISP-LN
|
||||
WITH POINTER PTR.
|
||||
IF PTR IS GREATER THAN 22,
|
||||
DISPLAY DISP-LN,
|
||||
MOVE 1 TO PTR.
|
||||
|
||||
BIG-SQRTS.
|
||||
PERFORM BIG-SQRT 10 TIMES.
|
||||
|
||||
BIG-SQRT.
|
||||
MOVE POW-7 TO X.
|
||||
PERFORM ISQRT.
|
||||
MOVE POW-N TO POW-N-OUT.
|
||||
MOVE R TO POW-7-OUT.
|
||||
DISPLAY "ISQRT(7^" POW-N-OUT ") = " POW-7-OUT.
|
||||
ADD 2 TO POW-N.
|
||||
MULTIPLY 49 BY POW-7.
|
||||
|
||||
ISQRT.
|
||||
MOVE 1 TO Q.
|
||||
PERFORM MUL-Q-BY-4 UNTIL Q IS GREATER THAN X.
|
||||
MOVE X TO Z.
|
||||
MOVE ZERO TO R.
|
||||
PERFORM ISQRT-STEP UNTIL Q IS NOT GREATER THAN 1.
|
||||
|
||||
MUL-Q-BY-4.
|
||||
MULTIPLY 4 BY Q.
|
||||
|
||||
ISQRT-STEP.
|
||||
DIVIDE 4 INTO Q.
|
||||
COMPUTE T = Z - R - Q.
|
||||
DIVIDE 2 INTO R.
|
||||
IF T IS NOT LESS THAN ZERO,
|
||||
MOVE T TO Z,
|
||||
ADD Q TO R.
|
||||
|
|
@ -1,8 +1,6 @@
|
|||
func isqrt x .
|
||||
q = 1
|
||||
while q <= x
|
||||
q *= 4
|
||||
.
|
||||
while q <= x : q *= 4
|
||||
while q > 1
|
||||
q = q div 4
|
||||
t = x - r - q
|
||||
|
|
|
|||
|
|
@ -1,46 +1,44 @@
|
|||
(phixonline)-->
|
||||
<span style="color: #008080;">with</span> <span style="color: #008080;">javascript_semantics</span>
|
||||
<span style="color: #008080;">include</span> <span style="color: #004080;">mpfr</span><span style="color: #0000FF;">.</span><span style="color: #000000;">e</span>
|
||||
with javascript_semantics
|
||||
include mpfr.e
|
||||
|
||||
<span style="color: #008080;">function</span> <span style="color: #000000;">isqrt</span><span style="color: #0000FF;">(</span><span style="color: #004080;">mpz</span> <span style="color: #000000;">x</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">if</span> <span style="color: #7060A8;">mpz_cmp_si</span><span style="color: #0000FF;">(</span><span style="color: #000000;">x</span><span style="color: #0000FF;">,</span><span style="color: #000000;">0</span><span style="color: #0000FF;">)<</span><span style="color: #000000;">0</span> <span style="color: #008080;">then</span>
|
||||
<span style="color: #7060A8;">crash</span><span style="color: #0000FF;">(</span><span style="color: #008000;">"Argument cannot be negative."</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
|
||||
<span style="color: #004080;">mpz</span> <span style="color: #000000;">q</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">mpz_init</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">),</span>
|
||||
<span style="color: #000000;">r</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">mpz_init</span><span style="color: #0000FF;">(</span><span style="color: #000000;">0</span><span style="color: #0000FF;">),</span>
|
||||
<span style="color: #000000;">t</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">mpz_init</span><span style="color: #0000FF;">(),</span>
|
||||
<span style="color: #000000;">z</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">mpz_init_set</span><span style="color: #0000FF;">(</span><span style="color: #000000;">x</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">while</span> <span style="color: #7060A8;">mpz_cmp</span><span style="color: #0000FF;">(</span><span style="color: #000000;">q</span><span style="color: #0000FF;">,</span><span style="color: #000000;">x</span><span style="color: #0000FF;">)<=</span> <span style="color: #000000;">0</span> <span style="color: #008080;">do</span>
|
||||
<span style="color: #7060A8;">mpz_mul_si</span><span style="color: #0000FF;">(</span><span style="color: #000000;">q</span><span style="color: #0000FF;">,</span><span style="color: #000000;">q</span><span style="color: #0000FF;">,</span><span style="color: #000000;">4</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">while</span>
|
||||
<span style="color: #008080;">while</span> <span style="color: #7060A8;">mpz_cmp_si</span><span style="color: #0000FF;">(</span><span style="color: #000000;">q</span><span style="color: #0000FF;">,</span><span style="color: #000000;">1</span><span style="color: #0000FF;">)></span><span style="color: #000000;">0</span> <span style="color: #008080;">do</span>
|
||||
<span style="color: #7060A8;">assert</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">mpz_fdiv_q_ui</span><span style="color: #0000FF;">(</span><span style="color: #000000;">q</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">q</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">4</span><span style="color: #0000FF;">)=</span><span style="color: #000000;">0</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #7060A8;">mpz_sub</span><span style="color: #0000FF;">(</span><span style="color: #000000;">t</span><span style="color: #0000FF;">,</span><span style="color: #000000;">z</span><span style="color: #0000FF;">,</span><span style="color: #000000;">r</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #7060A8;">mpz_sub</span><span style="color: #0000FF;">(</span><span style="color: #000000;">t</span><span style="color: #0000FF;">,</span><span style="color: #000000;">t</span><span style="color: #0000FF;">,</span><span style="color: #000000;">q</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #7060A8;">assert</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">mpz_fdiv_q_ui</span><span style="color: #0000FF;">(</span><span style="color: #000000;">r</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">r</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">2</span><span style="color: #0000FF;">)=</span><span style="color: #000000;">0</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">if</span> <span style="color: #7060A8;">mpz_cmp_si</span><span style="color: #0000FF;">(</span><span style="color: #000000;">t</span><span style="color: #0000FF;">,</span><span style="color: #000000;">0</span><span style="color: #0000FF;">)</span> <span style="color: #0000FF;">>=</span> <span style="color: #000000;">0</span> <span style="color: #008080;">then</span>
|
||||
<span style="color: #7060A8;">mpz_set</span><span style="color: #0000FF;">(</span><span style="color: #000000;">z</span><span style="color: #0000FF;">,</span><span style="color: #000000;">t</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #7060A8;">mpz_add</span><span style="color: #0000FF;">(</span><span style="color: #000000;">r</span><span style="color: #0000FF;">,</span><span style="color: #000000;">r</span><span style="color: #0000FF;">,</span><span style="color: #000000;">q</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">while</span>
|
||||
<span style="color: #004080;">string</span> <span style="color: #000000;">star</span> <span style="color: #0000FF;">=</span> <span style="color: #008080;">iff</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">mpz_cmp_si</span><span style="color: #0000FF;">(</span><span style="color: #000000;">z</span><span style="color: #0000FF;">,</span><span style="color: #000000;">0</span><span style="color: #0000FF;">)=</span><span style="color: #000000;">0</span><span style="color: #0000FF;">?</span><span style="color: #008000;">"*"</span><span style="color: #0000FF;">:</span><span style="color: #008000;">" "</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">return</span> <span style="color: #7060A8;">shorten</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">mpz_get_str</span><span style="color: #0000FF;">(</span><span style="color: #000000;">r</span><span style="color: #0000FF;">,</span><span style="color: #000000;">10</span><span style="color: #0000FF;">,</span><span style="color: #004600;">true</span><span style="color: #0000FF;">))&</span><span style="color: #000000;">star</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">function</span>
|
||||
function isqrt(mpz x)
|
||||
if mpz_cmp_si(x,0)<0 then
|
||||
crash("Argument cannot be negative.")
|
||||
end if
|
||||
mpz q = mpz_init(1),
|
||||
r = mpz_init(0),
|
||||
t = mpz_init(),
|
||||
z = mpz_init_set(x)
|
||||
while mpz_cmp(q,x)<= 0 do
|
||||
mpz_mul_si(q,q,4)
|
||||
end while
|
||||
while mpz_cmp_si(q,1)>0 do
|
||||
assert(mpz_fdiv_q_ui(q, q, 4)=0)
|
||||
mpz_sub(t,z,r)
|
||||
mpz_sub(t,t,q)
|
||||
assert(mpz_fdiv_q_ui(r, r, 2)=0)
|
||||
if mpz_cmp_si(t,0) >= 0 then
|
||||
mpz_set(z,t)
|
||||
mpz_add(r,r,q)
|
||||
end if
|
||||
end while
|
||||
string star = iff(mpz_cmp_si(z,0)=0?"*":" ")
|
||||
return shorten(mpz_get_str(r,10,true))&star
|
||||
end function
|
||||
|
||||
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"The integer square roots of integers from 0 to 65 are:\n"</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">for</span> <span style="color: #000000;">i</span><span style="color: #0000FF;">=</span><span style="color: #000000;">0</span> <span style="color: #008080;">to</span> <span style="color: #000000;">65</span> <span style="color: #008080;">do</span>
|
||||
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"%s "</span><span style="color: #0000FF;">,</span> <span style="color: #0000FF;">{</span><span style="color: #7060A8;">trim</span><span style="color: #0000FF;">(</span><span style="color: #000000;">isqrt</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">mpz_init</span><span style="color: #0000FF;">(</span><span style="color: #000000;">i</span><span style="color: #0000FF;">)))})</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span>
|
||||
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"\n\npower 7 ^ power integer square root\n"</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"----- --------------------------------------------------------- ----------------------------------------------------------\n"</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #004080;">mpz</span> <span style="color: #000000;">pow7</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">mpz_init</span><span style="color: #0000FF;">(</span><span style="color: #000000;">7</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">for</span> <span style="color: #000000;">i</span><span style="color: #0000FF;">=</span><span style="color: #000000;">1</span> <span style="color: #008080;">to</span> <span style="color: #000000;">9000</span> <span style="color: #008080;">do</span>
|
||||
<span style="color: #008080;">if</span> <span style="color: #0000FF;">(</span><span style="color: #000000;">i</span><span style="color: #0000FF;"><=</span><span style="color: #000000;">73</span> <span style="color: #008080;">and</span> <span style="color: #7060A8;">remainder</span><span style="color: #0000FF;">(</span><span style="color: #000000;">i</span><span style="color: #0000FF;">,</span><span style="color: #000000;">2</span><span style="color: #0000FF;">)=</span><span style="color: #000000;">1</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">or</span> <span style="color: #0000FF;">(</span><span style="color: #000000;">i</span><span style="color: #0000FF;"><</span><span style="color: #000000;">100</span> <span style="color: #008080;">and</span> <span style="color: #7060A8;">remainder</span><span style="color: #0000FF;">(</span><span style="color: #000000;">i</span><span style="color: #0000FF;">,</span><span style="color: #000000;">10</span><span style="color: #0000FF;">)=</span><span style="color: #000000;">5</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">or</span> <span style="color: #0000FF;">(</span><span style="color: #000000;">i</span><span style="color: #0000FF;"><</span><span style="color: #000000;">1000</span> <span style="color: #008080;">and</span> <span style="color: #7060A8;">remainder</span><span style="color: #0000FF;">(</span><span style="color: #000000;">i</span><span style="color: #0000FF;">,</span><span style="color: #000000;">100</span><span style="color: #0000FF;">)=</span><span style="color: #000000;">0</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">or</span> <span style="color: #7060A8;">remainder</span><span style="color: #0000FF;">(</span><span style="color: #000000;">i</span><span style="color: #0000FF;">,</span><span style="color: #000000;">1000</span><span style="color: #0000FF;">)=</span><span style="color: #000000;">0</span> <span style="color: #008080;">then</span>
|
||||
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"%4d %58s %61s\n"</span><span style="color: #0000FF;">,</span> <span style="color: #0000FF;">{</span><span style="color: #000000;">i</span><span style="color: #0000FF;">,</span> <span style="color: #7060A8;">shorten</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">mpz_get_str</span><span style="color: #0000FF;">(</span><span style="color: #000000;">pow7</span><span style="color: #0000FF;">,</span><span style="color: #000000;">10</span><span style="color: #0000FF;">,</span><span style="color: #004600;">true</span><span style="color: #0000FF;">)),</span><span style="color: #000000;">isqrt</span><span style="color: #0000FF;">(</span><span style="color: #000000;">pow7</span><span style="color: #0000FF;">)})</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
|
||||
<span style="color: #7060A8;">mpz_mul_si</span><span style="color: #0000FF;">(</span><span style="color: #000000;">pow7</span><span style="color: #0000FF;">,</span><span style="color: #000000;">pow7</span><span style="color: #0000FF;">,</span><span style="color: #000000;">7</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span>
|
||||
<!--
|
||||
printf(1,"The integer square roots of integers from 0 to 65 are:\n")
|
||||
for i=0 to 65 do
|
||||
printf(1,"%s ", {trim(isqrt(mpz_init(i)))})
|
||||
end for
|
||||
printf(1,"\n\npower %24s 7 ^ power %45s integer square root\n",{" "," "})
|
||||
printf(1,"----- %s %s\n",{repeat('-',57),repeat('-',58)})
|
||||
mpz pow7 = mpz_init(7)
|
||||
for i=1 to 9000 do
|
||||
if (i<=73 and remainder(i,2)=1)
|
||||
or (i<100 and remainder(i,10)=5)
|
||||
or (i<1000 and remainder(i,100)=0)
|
||||
or remainder(i,1000)=0 then
|
||||
printf(1,"%4d %58s %61s\n", {i, shorten(mpz_get_str(pow7,10,true)),isqrt(pow7)})
|
||||
end if
|
||||
mpz_mul_si(pow7,pow7,7)
|
||||
end for
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
-- 28 Jul 2025
|
||||
include Settings
|
||||
-- 23 Aug 2025
|
||||
include Setting
|
||||
|
||||
say 'ISQRT (INTEGER SQUARE ROOT)'
|
||||
say version
|
||||
|
|
@ -18,9 +18,9 @@ call Task2 12345,1,12345,'F'
|
|||
exit
|
||||
|
||||
Task1:
|
||||
procedure
|
||||
procedure expose glob.
|
||||
arg xx
|
||||
call time('r')
|
||||
call Timer 'x'
|
||||
say 'Integer square root for n = 0...'xx
|
||||
do n = 0 to xx
|
||||
call Charout ,QuadraticResidue(n)' '
|
||||
|
|
@ -30,9 +30,9 @@ call Timer
|
|||
return
|
||||
|
||||
Task2:
|
||||
procedure expose Memo.
|
||||
procedure expose Memo. glob.
|
||||
arg xx,yy,zz,mm
|
||||
call Time('r')
|
||||
call Timer 'x'
|
||||
select
|
||||
when mm = 'Q' then
|
||||
t = 'Quadratic residue'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue