Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
46
Task/Almost-prime/Modula-2/almost-prime.mod2
Normal file
46
Task/Almost-prime/Modula-2/almost-prime.mod2
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
MODULE AlmostPrime;
|
||||
FROM FormatString IMPORT FormatString;
|
||||
FROM Terminal IMPORT WriteString,WriteLn,ReadChar;
|
||||
|
||||
PROCEDURE KPrime(n,k : INTEGER) : BOOLEAN;
|
||||
VAR p,f : INTEGER;
|
||||
BEGIN
|
||||
f := 0;
|
||||
p := 2;
|
||||
WHILE (f<k) AND (p*p<=n) DO
|
||||
WHILE n MOD p = 0 DO
|
||||
n := n DIV p;
|
||||
INC(f)
|
||||
END;
|
||||
INC(p)
|
||||
END;
|
||||
IF n>1 THEN
|
||||
RETURN f+1 = k
|
||||
END;
|
||||
RETURN f = k
|
||||
END KPrime;
|
||||
|
||||
VAR
|
||||
buf : ARRAY[0..63] OF CHAR;
|
||||
i,c,k : INTEGER;
|
||||
BEGIN
|
||||
FOR k:=1 TO 5 DO
|
||||
FormatString("k = %i:", buf, k);
|
||||
WriteString(buf);
|
||||
|
||||
i:=2;
|
||||
c:=0;
|
||||
WHILE c<10 DO
|
||||
IF KPrime(i,k) THEN
|
||||
FormatString(" %i", buf, i);
|
||||
WriteString(buf);
|
||||
INC(c)
|
||||
END;
|
||||
INC(i)
|
||||
END;
|
||||
|
||||
WriteLn;
|
||||
END;
|
||||
|
||||
ReadChar;
|
||||
END AlmostPrime.
|
||||
Loading…
Add table
Add a link
Reference in a new issue