Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
48
Task/Semiprime/DCL/semiprime.dcl
Normal file
48
Task/Semiprime/DCL/semiprime.dcl
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
$ p1 = f$integer( p1 )
|
||||
$ if p1 .lt. 2
|
||||
$ then
|
||||
$ write sys$output "out of range 2 thru 2^31-1"
|
||||
$ exit
|
||||
$ endif
|
||||
$
|
||||
$ close /nolog primes
|
||||
$ on control_y then $ goto clean
|
||||
$ open primes primes.txt
|
||||
$
|
||||
$ loop1:
|
||||
$ read /end_of_file = prime primes prime
|
||||
$ prime = f$integer( prime )
|
||||
$ loop2:
|
||||
$ t = p1 / prime
|
||||
$ if t * prime .eq. p1
|
||||
$ then
|
||||
$ if f$type( factorization ) .eqs. ""
|
||||
$ then
|
||||
$ factorization = f$string( prime )
|
||||
$ else
|
||||
$ factorization = factorization + "*" + f$string( prime )
|
||||
$ endif
|
||||
$ if t .eq. 1 then $ goto done
|
||||
$ p1 = t
|
||||
$ goto loop2
|
||||
$ else
|
||||
$ goto loop1
|
||||
$ endif
|
||||
$ prime:
|
||||
$ if f$type( factorization ) .eqs. ""
|
||||
$ then
|
||||
$ factorization = f$string( p1 )
|
||||
$ else
|
||||
$ factorization = factorization + "*" + f$string( p1 )
|
||||
$ endif
|
||||
$ done:
|
||||
$ show symbol factorization
|
||||
$ if f$locate( "*", factorization ) .eq. f$length( factorization )
|
||||
$ then
|
||||
$ write sys$output "so, it is prime"
|
||||
$ else
|
||||
$ if f$element( 2, "*", factorization ) .eqs. "*" then $ write sys$output "so, it is semiprime"
|
||||
$ endif
|
||||
$
|
||||
$ clean:
|
||||
$ close primes
|
||||
Loading…
Add table
Add a link
Reference in a new issue