' Arithmetic numbers DIM N AS LONG, ArithmCnt AS LONG, ComposCnt AS LONG DIM Dv AS LONG, DvCnt AS LONG, Sum AS LONG, Quot AS LONG N = 1 ArithmCnt = 0 ComposCnt = 0 PRINT "The first 100 arithmetic numbers are:" DO WHILE ArithmCnt < 1000001 Dv = 1 DvCnt = 0 Sum = 0 DO Quot = N \ Dv IF Quot < Dv THEN EXIT DO IF Quot = Dv AND N MOD Dv = 0 THEN ' N is a square Sum = Sum + Quot DvCnt = DvCnt + 1 EXIT DO END IF IF N MOD Dv = 0 THEN Sum = Sum + Dv + Quot DvCnt = DvCnt + 2 END IF Dv = Dv + 1 LOOP IF Sum MOD DvCnt = 0 THEN ' N is arithmetic ArithmCnt = ArithmCnt + 1 IF ArithmCnt <= 100 THEN PRINT USING "####"; N; IF ArithmCnt MOD 10 = 0 THEN PRINT END IF IF DvCnt > 2 THEN ComposCnt = ComposCnt + 1 IF ArithmCnt = 1000 OR ArithmCnt = 10000 OR ArithmCnt = 100000 OR ArithmCnt = 1000000 THEN PRINT PRINT USING "The #######th arithmetic number is ########"; ArithmCnt; N; PRINT USING " up to which ######"; ComposCnt; PRINT " are composite."; END IF END IF N = N + 1 LOOP PRINT END