Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
52
Task/Smith-numbers/MAD/smith-numbers.mad
Normal file
52
Task/Smith-numbers/MAD/smith-numbers.mad
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
NORMAL MODE IS INTEGER
|
||||
PRINT COMMENT$ SMITH NUMBERS$
|
||||
|
||||
R GENERATE PRIMES UP TO 10,000 USING SIEVE METHOD
|
||||
BOOLEAN SIEVE
|
||||
DIMENSION SIEVE(10000)
|
||||
DIMENSION PRIMES(1500)
|
||||
|
||||
THROUGH SET, FOR I=2, 1, I.G.10000
|
||||
SET SIEVE(I) = 1B
|
||||
|
||||
THROUGH NXPRIM, FOR P=2, 1, P.G.100
|
||||
WHENEVER SIEVE(P)
|
||||
THROUGH MARK, FOR I=P*P, P, I.G.10000
|
||||
MARK SIEVE(I) = 0B
|
||||
NXPRIM END OF CONDITIONAL
|
||||
|
||||
NPRIMS = 0
|
||||
THROUGH CNTPRM, FOR P=2, 1, P.G.10000
|
||||
WHENEVER SIEVE(P)
|
||||
PRIMES(NPRIMS) = P
|
||||
NPRIMS = NPRIMS + 1
|
||||
CNTPRM END OF CONDITIONAL
|
||||
|
||||
R CHECK SMITH NUMBERS
|
||||
THROUGH SMITH, FOR I=4, 1, I.GE.10000
|
||||
WHENEVER .NOT. SIEVE(I)
|
||||
K = I
|
||||
PFSUM = 0
|
||||
THROUGH FACSUM, FOR P=0, 1, P.GE.NPRIMS .OR. K.E.0
|
||||
L = PRIMES(P)
|
||||
FACDIV WHENEVER K/L*L.E.K .AND. K.NE.0
|
||||
PFSUM = PFSUM + DGTSUM.(L)
|
||||
K = K/L
|
||||
TRANSFER TO FACDIV
|
||||
FACSUM END OF CONDITIONAL
|
||||
WHENEVER PFSUM.E.DGTSUM.(I), PRINT FORMAT NUMFMT,I
|
||||
SMITH END OF CONDITIONAL
|
||||
|
||||
VECTOR VALUES NUMFMT = $I5*$
|
||||
|
||||
R GET SUM OF DIGITS OF N
|
||||
INTERNAL FUNCTION(N)
|
||||
ENTRY TO DGTSUM.
|
||||
DSUM = 0
|
||||
DNUM = N
|
||||
LOOP WHENEVER DNUM.E.0, FUNCTION RETURN DSUM
|
||||
DSUM = DSUM + DNUM-DNUM/10*10
|
||||
DNUM = DNUM/10
|
||||
TRANSFER TO LOOP
|
||||
END OF FUNCTION
|
||||
END OF PROGRAM
|
||||
Loading…
Add table
Add a link
Reference in a new issue