Aliquot sequence classifications: Difference between revisions
Content added Content deleted
No edit summary |
(Aliquot sequence classifications in QBasic) |
||
Line 4,518: | Line 4,518: | ||
non-terminating: [1488, 2480, 3472, 4464, 8432, 9424, 10416, 21328, 22320, 55056, 95728, 96720, 236592, 459792, 881392, 882384, 1474608] |
non-terminating: [1488, 2480, 3472, 4464, 8432, 9424, 10416, 21328, 22320, 55056, 95728, 96720, 236592, 459792, 881392, 882384, 1474608] |
||
non-terminating: [15355717786080, 44534663601120, 144940087464480]</pre> |
non-terminating: [15355717786080, 44534663601120, 144940087464480]</pre> |
||
=={{header|QBasic}}== |
|||
{{works with|QBasic|1.1}} |
|||
{{trans|Liberty BASIC}} |
|||
<lang QBasic>DECLARE FUNCTION PDtotal! (n!) |
|||
DECLARE SUB PrintAliquotClassifier (K!) |
|||
CLS |
|||
CONST limite = 10000000 |
|||
DIM nums(22) |
|||
DATA 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 28, 496 |
|||
DATA 220, 1184, 12496, 790, 909, 562, 1064, 1488 |
|||
FOR n = 1 TO UBOUND(nums) |
|||
READ nums(n) |
|||
PRINT "Number"; nums(n); " :"; |
|||
PrintAliquotClassifier (nums(n)) |
|||
NEXT n |
|||
PRINT "Program normal end." |
|||
END |
|||
FUNCTION PDtotal (n) |
|||
total = 0 |
|||
FOR y = 2 TO n |
|||
IF (n MOD y) = 0 THEN total = total + (n / y) |
|||
NEXT y |
|||
PDtotal = total |
|||
END FUNCTION |
|||
SUB PrintAliquotClassifier (K) |
|||
longit = 52: n = K: clase = 0: priorn = 0: inc = 0 |
|||
DIM Aseq(longit) |
|||
FOR element = 2 TO longit |
|||
Aseq(element) = PDtotal(n) |
|||
PRINT Aseq(element); " "; |
|||
COLOR 3 |
|||
SELECT CASE Aseq(element) |
|||
CASE 0 |
|||
PRINT " Terminating": clase = 1: EXIT FOR |
|||
CASE K AND element = 2 |
|||
PRINT " Perfect": clase = 2: EXIT FOR |
|||
CASE K AND element = 3 |
|||
PRINT " Amicable": clase = 3: EXIT FOR |
|||
CASE K AND element > 3 |
|||
PRINT " Sociable": clase = 4: EXIT FOR |
|||
CASE Aseq(element) <> K AND Aseq(element - 1) = Aseq(element) |
|||
PRINT " Aspiring": clase = 5: EXIT FOR |
|||
CASE Aseq(element) <> K AND Aseq(element - 2) = Aseq(element) |
|||
PRINT " Cyclic": clase = 6: EXIT FOR |
|||
END SELECT |
|||
COLOR 7 |
|||
n = Aseq(element) |
|||
IF n > priorn THEN priorn = n: inc = inc + 1 ELSE inc = 0: priorn = 0 |
|||
IF inc = 11 OR n > limite THEN EXIT FOR |
|||
NEXT element |
|||
IF clase = 0 THEN COLOR 12: PRINT " non-terminating" |
|||
COLOR 7 |
|||
END SUB</lang> |
|||
{{out}} |
|||
<pre>Number 1 : 0 Terminating |
|||
Number 2 : 1 0 Terminating |
|||
Number 3 : 1 0 Terminating |
|||
Number 4 : 3 1 0 Terminating |
|||
Number 5 : 1 0 Terminating |
|||
Number 6 : 6 Perfect |
|||
Number 7 : 1 0 Terminating |
|||
Number 8 : 7 1 0 Terminating |
|||
Number 9 : 4 3 1 0 Terminating |
|||
Number 10 : 8 7 1 0 Terminating |
|||
Number 11 : 1 0 Terminating |
|||
Number 12 : 16 15 9 4 3 1 0 Terminating |
|||
Number 28 : 28 Perfect |
|||
Number 496 : 496 Perfect |
|||
Number 220 : 284 220 Amicable |
|||
Number 1184 : 1210 1184 Amicable |
|||
Number 12496 : 14288 15472 14536 14264 12496 Sociable |
|||
Number 790 : 650 652 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 non-terminating |
|||
Number 909 : 417 143 25 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 non-terminating |
|||
Number 562 : 284 220 284 220 284 220 284 220 284 220 284 220 284 220 284 220 284 220 284 220 284 220 284 220 284 220 284 220 284 220 284 220 284 220 284 220 284 220 284 220 284 220 284 220 284 220 284 220 284 220 284 non-terminating |
|||
Number 1064 : 1336 1184 1210 1184 1210 1184 1210 1184 1210 1184 1210 1184 1210 1184 1210 1184 1210 1184 1210 1184 1210 1184 1210 1184 1210 1184 1210 1184 1210 1184 1210 1184 1210 1184 1210 1184 1210 1184 1210 1184 1210 1184 1210 1184 1210 1184 1210 1184 1210 1184 1210 non-terminating |
|||
Number 1488 : 2480 3472 4464 8432 9424 10416 21328 22320 55056 95728 96720 non-terminating |
|||
Program normal end.</pre> |
|||
=={{header|Racket}}== |
=={{header|Racket}}== |