Factors of an integer: Difference between revisions
Content added Content deleted
m (fix bare lang tags) |
(Added BBC BASIC) |
||
Line 270: | Line 270: | ||
Gimme a number:102 |
Gimme a number:102 |
||
Factors of 102: 1 2 3 6 17 34 51 102</pre> |
Factors of 102: 1 2 3 6 17 34 51 102</pre> |
||
=={{header|BBC BASIC}}== |
|||
{{works with|BBC BASIC for Windows}} |
|||
<lang bbcbasic> INSTALL @lib$+"SORTLIB" |
|||
sort% = FN_sortinit(0, 0) |
|||
PRINT "The factors of 45 are " FNfactorlist(45) |
|||
PRINT "The factors of 12345 are " FNfactorlist(12345) |
|||
END |
|||
DEF FNfactorlist(N%) |
|||
LOCAL C%, I%, L%(), L$ |
|||
DIM L%(32) |
|||
FOR I% = 1 TO SQR(N%) |
|||
IF (N% MOD I% = 0) THEN |
|||
L%(C%) = I% |
|||
C% += 1 |
|||
IF (N% <> I%^2) THEN |
|||
L%(C%) = (N% DIV I%) |
|||
C% += 1 |
|||
ENDIF |
|||
ENDIF |
|||
NEXT I% |
|||
CALL sort%, L%(0) |
|||
FOR I% = 0 TO C%-1 |
|||
L$ += STR$(L%(I%)) + ", " |
|||
NEXT |
|||
= LEFT$(LEFT$(L$)) |
|||
</lang> |
|||
Output: |
|||
<pre>The factors of 45 are 1, 3, 5, 9, 15, 45 |
|||
The factors of 12345 are 1, 3, 5, 15, 823, 2469, 4115, 12345</pre> |
|||
=={{header|C}}== |
=={{header|C}}== |