mirror of
https://github.com/ProgramSnail/Lama.git
synced 2025-12-24 15:48:47 +00:00
Implemented control constructs
This commit is contained in:
commit
a60a491e73
23 changed files with 487 additions and 9 deletions
43
regression/test018.expr
Normal file
43
regression/test018.expr
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
read (n);
|
||||
|
||||
c := 1;
|
||||
p := 2;
|
||||
|
||||
while c do
|
||||
|
||||
cc := 1;
|
||||
|
||||
while cc do
|
||||
q := 2;
|
||||
|
||||
while q * q <= p && cc do
|
||||
cc := p % q != 0;
|
||||
q := q + 1
|
||||
od;
|
||||
|
||||
if cc then cc := 0 else p := p + 1; cc := 1 fi
|
||||
|
||||
od;
|
||||
|
||||
d := p;
|
||||
i := 0;
|
||||
|
||||
q := n / d;
|
||||
m := n % d;
|
||||
|
||||
while q > 0 && m == 0 do
|
||||
i := i + 1;
|
||||
d := d * p;
|
||||
m := n % d;
|
||||
if m == 0 then q := n / d else skip fi
|
||||
od;
|
||||
|
||||
write (p);
|
||||
write (i);
|
||||
|
||||
n := n / (d / p);
|
||||
p := p + 1;
|
||||
c := n != 1
|
||||
|
||||
od
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue