Factors of an integer: Difference between revisions

m
Reordering BASIC dialects
(Added Gambas and XBasic)
m (Reordering BASIC dialects)
Line 1,064:
==={{header|ASIC}}===
{{trans|GW-BASIC}}
<syntaxhighlight lang="basic">REM Factors of an integer
REM Factors of an integer
PRINT "Enter an integer";
LOOP:
Line 1,081 ⟶ 1,080:
END</syntaxhighlight>
{{out}}
<pre>Enter an integer?60
1 2 3 4 5 6 10 12 15 20 30 60</pre>
Enter an integer?60
1 2 3 4 5 6 10 12 15 20 30 60
 
</pre>
 
==={{header|BASIC256}}===
Line 1,104 ⟶ 1,100:
call printFactors(67)
call printFactors(96)
end</syntaxhighlight>
end
</syntaxhighlight>
{{out}}
<pre>
Igual que la entrada de FreeBASIC.
</pre>
 
==={{header|BBC BASIC}}===
Line 1,138 ⟶ 1,129:
NEXT
= LEFT$(LEFT$(L$))</syntaxhighlight>
 
{{out}}
<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|Chipmunk Basic}}===
{{works with|Chipmunk Basic|3.6.4}}
{{trans|BASIC256}}
<syntaxhighlight lang="qbasic">10 cls
20 printfactors(11)
30 printfactors(21)
40 printfactors(32)
50 printfactors(45)
60 printfactors(67)
70 printfactors(96)
80 end
100 sub printfactors(n)
110 if n < 1 then printfactors = 0
120 print n "=> ";
130 for i = 1 to n/2
140 if n mod i = 0 then print i " ";
150 next i
160 print n
170 end sub</syntaxhighlight>
 
==={{header|Craft Basic}}===
Line 1,196 ⟶ 1,206:
96 => 1 2 3 4 6 8 12 16 24 32 48 96
</pre>
 
==={{header|Gambas}}===
{{trans|FreeBASIC}}
<syntaxhighlight lang="vbnet">Public Sub Main()
printFactors(11)
printFactors(21)
printFactors(32)
printFactors(45)
printFactors(67)
printFactors(96)
 
End
 
Sub printFactors(n As Integer)
 
If n < 1 Then Return
Print n; " =>";
For i As Integer = 1 To n / 2
If n Mod i = 0 Then Print i; " ";
Next
Print n
 
End Sub</syntaxhighlight>
 
==={{header|Chipmunk Basic}}===
{{works with|Chipmunk Basic|3.6.4}}
{{trans|BASIC256}}
<syntaxhighlight lang="qbasic">10 cls
20 printfactors(11)
30 printfactors(21)
40 printfactors(32)
50 printfactors(45)
60 printfactors(67)
70 printfactors(96)
80 end
100 sub printfactors(n)
110 if n < 1 then printfactors = 0
120 print n "=> ";
130 for i = 1 to n/2
140 if n mod i = 0 then print i " ";
150 next i
160 print n
170 end sub</syntaxhighlight>
{{out}}
<pre>Same as FreeBASIC entry.</pre>
 
==={{header|FutureBasic}}===
Line 1,294 ⟶ 1,258:
 
HandleEvents</syntaxhighlight>
{{out}}
 
<pre>Factors of 25 are: 1, 5, 25
Output:
<pre>
Factors of 25 are: 1, 5, 25
Factors of 45 are: 1, 3, 5, 9, 15, 45
Factors of 103 are: 1, 103
Line 1,306 ⟶ 1,268:
Factors of 57097 are: 1, 57097
Factors of 12345678 are: 1, 2, 3, 6, 9, 18, 47, 94, 141, 282, 423, 846, 14593, 29186, 43779, 87558, 131337, 262674, 685871, 1371742, 2057613, 4115226, 6172839, 12345678
Factors of 32434243 are: 1, 307, 105649, 32434243</pre>
 
</pre>
==={{header|Gambas}}===
{{trans|FreeBASIC}}
<syntaxhighlight lang="vbnet">Public Sub Main()
printFactors(11)
printFactors(21)
printFactors(32)
printFactors(45)
printFactors(67)
printFactors(96)
 
End
 
Sub printFactors(n As Integer)
 
If n < 1 Then Return
Print n; " =>";
For i As Integer = 1 To n / 2
If n Mod i = 0 Then Print i; " ";
Next
Print n
 
End Sub</syntaxhighlight>
 
==={{header|GW-BASIC}}===
<syntaxhighlight lang="gwbasicqbasic">
10 INPUT "Enter an integer: ", N
20 IF N = 0 THEN GOTO 10
Line 1,331 ⟶ 1,316:
 
==={{header|IS-BASIC}}===
<syntaxhighlight lang="is-basicqbasic">100 PROGRAM "Factors.bas"
110 INPUT PROMPT "Number: ":N
120 FOR I=1 TO INT(N/2)
Line 1,409 ⟶ 1,394:
end function</syntaxhighlight>
{{out}}
 
<syntaxhighlight lang="lb">Start finding all factors of 10677106534462215678539721403561279:
10677106534462215678539721403561279 = 29269^1 * 32579^1 * 98731^2 * 104729^3
Line 1,531 ⟶ 1,517:
{{works with|MSX BASIC|any}}
{{works with|Nascom ROM BASIC|4.7}}
<syntaxhighlight lang="gwbasicqbasic">10 REM Factors of an integer
20 PRINT "Enter an integer";
30 INPUT N
Line 1,546 ⟶ 1,532:
{{trans|GW-BASIC}}
<syntaxhighlight lang="qbasic">10 INPUT "Enter an integer: "; N
20 IF N = 0 THEN GOTO 1510
30 N1 = ABS(N)
40 FOR I = 1 TO N1/2
50 IF N1 MOD I = 0 THEN PRINT I;
60 NEXT I
70 PRINT N1</syntaxhighlight>
 
==={{header|Quite BASIC}}===
{{trans|GW-BASIC}}
<syntaxhighlight lang="qbasic">10 INPUT "Enter an integer: "; N
20 IF N = 0 THEN GOTO 15
30 N1 = ABS(N)
40 FOR I = 1 TO N1/2
50 IF N1 - INT(N1 / I) * I = 0 THEN PRINT I; " ";
60 NEXT I
70 PRINT N1</syntaxhighlight>
Line 1,578 ⟶ 1,554:
</syntaxhighlight>
{{out}}
<pre>Enter an integer? 60
<pre>
1 2 3 4 5 6 10 12 15 20 30 60</pre>
Enter an integer? 60
1 2 3 4 5 6 10 12 15 20 30 60
</pre>
See also [[#Minimal BASIC|Minimal BASIC]]
 
Line 1,600 ⟶ 1,574:
{{out}}
3 runs.
<pre>ENTER AN INTEGER:1
1</pre>
ENTER AN INTEGER:1
<pre>ENTER AN INTEGER:60
1
1 2 3 4 5 6 10 12 15 20 30 60</pre>
</pre>
<pre>ENTER AN INTEGER:-22222
<pre>
1 2 41 82 271 542 11111 22222</pre>
ENTER AN INTEGER:60
1 2 3 4 5 6 10 12 15 20 30 60
</pre>
<pre>
ENTER AN INTEGER:-22222
1 2 41 82 271 542 11111 22222
</pre>
 
==={{header|PureBasic}}===
Line 1,636 ⟶ 1,604:
EndIf</syntaxhighlight>
{{out}}
<pre> Enter integer to factorize: 96
<pre>
1 2 3 4 6 8 12 16 24 32 48 96</pre>
Enter integer to factorize: 96
1 2 3 4 6 8 12 16 24 32 48 96
</pre>
 
==={{header|QB64}}===
<syntaxhighlight lang="qb64">'Task
'Task
'Compute the factors of a positive integer.
 
Line 1,657 ⟶ 1,622:
Index = Index - 1
Wend
End</syntaxhighlight>
End
</syntaxhighlight>
 
==={{header|QBasic}}===
Line 1,709 ⟶ 1,673:
NEXT
END SUB</syntaxhighlight>
 
{{out}}
<pre> Gimme a number? 17
Gimme a number? 17
1 , 17
Gimme a number? 12345
Line 1,720 ⟶ 1,682:
Gimme a number? 32766
1 , 2 , 3 , 6 , 43 , 86 , 127 , 129 , 254 , 258 , 381 , 762 , 5461 , 10922 ,
16383 , 32766</pre>
 
</pre>
==={{header|Quite BASIC}}===
{{trans|GW-BASIC}}
<syntaxhighlight lang="qbasic">10 INPUT "Enter an integer: "; N
20 IF N = 0 THEN GOTO 15
30 N1 = ABS(N)
40 FOR I = 1 TO N1/2
50 IF N1 - INT(N1 / I) * I = 0 THEN PRINT I; " ";
60 NEXT I
70 PRINT N1</syntaxhighlight>
 
==={{header|REALbasic}}===
Line 1,739 ⟶ 1,710:
 
==={{header|Run BASIC}}===
<syntaxhighlight lang="runbasicbasic">PRINT "Factors of 45 are ";factorlist$(45)
PRINT "Factors of 12345 are "; factorlist$(12345)
END
functionFUNCTION factorlist$(f)
DIM L(100)
FOR i = 1 TO SQR(f)
Line 1,756 ⟶ 1,727:
NEXT i
s = 1
whileWHILE s = 1
s = 0
forFOR i = 0 toTO c-1
ifIF L(i) > L(i+1) andAND L(i+1) <> 0 thenTHEN
t = L(i)
L(i) = L(i+1)
L(i+1) = t
s = 1
endEND ifIF
nextNEXT i
WEND
wend
FOR i = 0 TO c-1
factorlist$ = factorlist$ + STR$(L(i)) + ", "
NEXT
endEND functionFUNCTION</syntaxhighlight>
{{out}}
<pre>Factors of 45 are 1, 3, 5, 9, 15, 45,
Line 1,811 ⟶ 1,782:
20
30
60</pre>
</pre>
 
==={{header|True BASIC}}===
{{trans|FreeBASIC}}
<syntaxhighlight lang="qbasic">SUB printfactors(n)
IF n < 1 THEN EXIT SUB
sub printfactors(n)
ifPRINT n; < 1 then exit sub"=>";
printFOR n;i "=>"; 1 TO n / 2
for i = 1 toIF REMAINDER(n, /i) 2= 0 THEN PRINT i;
NEXT i
if remainder(n, i) = 0 then print i;
nextPRINT in
END SUB
print n
end sub
 
callCALL printfactors(11)
callCALL printfactors(21)
callCALL printfactors(32)
callCALL printfactors(45)
callCALL printfactors(67)
callCALL printfactors(96)
END</syntaxhighlight>
print
end
</syntaxhighlight>
{{out}}
<pre>
Igual que la entrada de FreeBASIC.
</pre>
 
==={{header|VBA}}===
Line 1,888 ⟶ 1,851:
==={{header|Yabasic}}===
{{trans|FreeBASIC}}
<syntaxhighlight lang="yabasic">sub printFactors(n)
if n < 1 return 0
sub printFactors(n)
ifprint n, <" 1 then return 0 : fi=>";
print n, " =>",
for i = 1 to n / 2
if mod(n, i) = 0 then print i, " "; : fi
next i
print n
Line 1,905 ⟶ 1,867:
printFactors(96)
print
end</syntaxhighlight>
end
</syntaxhighlight>
{{out}}
<pre>
Igual que la entrada de FreeBASIC.
</pre>
 
==={{header|ZX Spectrum Basic}}===
{{trans|AWK}}
<syntaxhighlight lang="zxbasicbasic">10 INPUT "Enter a number or 0 to exit: ";n
20 IF n=0 THEN STOP
30 PRINT "Factors of ";n;": ";
2,130

edits