RosettaCodeData/Task/Perfect-numbers/BASIC/perfect-numbers-2.basic

13 lines
290 B
Plaintext

100 PROGRAM "PerfectN.bas"
110 FOR X=1 TO 10000
120 IF PERFECT(X) THEN PRINT X;
130 NEXT
140 DEF PERFECT(N)
150 IF N<2 OR MOD(N,2)<>0 THEN LET PERFECT=0:EXIT DEF
160 LET S=1
170 FOR I=2 TO SQR(N)
180 IF MOD(N,I)=0 THEN LET S=S+I+N/I
190 NEXT
200 LET PERFECT=N=S
210 END DEF