Factors of an integer: Difference between revisions
Content deleted Content added
PascalABC.NET |
|||
(7 intermediate revisions by 5 users not shown) | |||
Line 1,064:
==={{header|ASIC}}===
{{trans|GW-BASIC}}
<syntaxhighlight lang="basic">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>
==={{header|BASIC256}}===
Line 1,104 ⟶ 1,100:
call printFactors(67)
call printFactors(96)
end</syntaxhighlight>
==={{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,197 ⟶ 1,207:
</pre>
==={{header|
<syntaxhighlight lang="futurebasic">window 1, @"Factors of an Integer", (0,0,1000,270)
Line 1,270 ⟶ 1,258:
HandleEvents</syntaxhighlight>
{{out}}
<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,282 ⟶ 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>
==={{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="
10 INPUT "Enter an integer: ", N
20 IF N = 0 THEN GOTO 10
Line 1,307 ⟶ 1,316:
==={{header|IS-BASIC}}===
<syntaxhighlight lang="
110 INPUT PROMPT "Number: ":N
120 FOR I=1 TO INT(N/2)
Line 1,385 ⟶ 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,507 ⟶ 1,517:
{{works with|MSX BASIC|any}}
{{works with|Nascom ROM BASIC|4.7}}
<syntaxhighlight lang="
20 PRINT "Enter an integer";
30 INPUT N
Line 1,522 ⟶ 1,532:
{{trans|GW-BASIC}}
<syntaxhighlight lang="qbasic">10 INPUT "Enter an integer: "; N
20 IF N = 0 THEN GOTO
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>
Line 1,554:
</syntaxhighlight>
{{out}}
<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,576 ⟶ 1,574:
{{out}}
3 runs.
<pre>ENTER AN INTEGER:1
1</pre>
<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,612 ⟶ 1,604:
EndIf</syntaxhighlight>
{{out}}
<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
'Compute the factors of a positive integer.
Line 1,633 ⟶ 1,622:
Index = Index - 1
Wend
End</syntaxhighlight>
==={{header|QBasic}}===
Line 1,685 ⟶ 1,673:
NEXT
END SUB</syntaxhighlight>
{{out}}
<pre> Gimme a number? 17
1 , 17
Gimme a number? 12345
Line 1,696 ⟶ 1,682:
Gimme a number? 32766
1 , 2 , 3 , 6 , 43 , 86 , 127 , 129 , 254 , 258 , 381 , 762 , 5461 , 10922 ,
16383 , 32766</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,715 ⟶ 1,710:
==={{header|Run BASIC}}===
<syntaxhighlight lang="
PRINT "Factors of 12345 are "; factorlist$(12345)
END
DIM L(100)
FOR i = 1 TO SQR(f)
Line 1,732 ⟶ 1,727:
NEXT i
s = 1
s = 0
t = L(i)
L(i) = L(i+1)
L(i+1) = t
s = 1
WEND
FOR i = 0 TO c-1
factorlist$ = factorlist$ + STR$(L(i)) + ", "
NEXT
{{out}}
<pre>Factors of 45 are 1, 3, 5, 9, 15, 45,
Line 1,787 ⟶ 1,782:
20
30
60</pre>
==={{header|True BASIC}}===
{{trans|FreeBASIC}}
<syntaxhighlight lang="qbasic">SUB printfactors(n)
IF n < 1 THEN EXIT SUB
NEXT i
END SUB
END</syntaxhighlight>
==={{header|VBA}}===
Line 1,834 ⟶ 1,821:
<pre>cell formula is "=Factors(840)"
resultant value is "1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 20, 21, 24, 28, 30, 35, 40, 42, 56, 60, 70, 84, 105, 120, 140, 168, 210, 280, 420, 840"</pre>
==={{header|XBasic}}===
{{trans|BASIC256}}
{{works with|Windows XBasic}}
<syntaxhighlight lang="qbasic">PROGRAM "Factors of an integer"
VERSION "0.0000"
DECLARE FUNCTION Entry ()
DECLARE FUNCTION printFactors (n)
FUNCTION Entry ()
printFactors(11)
printFactors(21)
printFactors(32)
printFactors(45)
printFactors(67)
printFactors(96)
END FUNCTION
FUNCTION printFactors (n)
PRINT n; " =>";
FOR i = 1 TO n / 2
IF n MOD i = 0 THEN PRINT i; " ";
NEXT i
PRINT n
END FUNCTION
END PROGRAM</syntaxhighlight>
==={{header|Yabasic}}===
{{trans|FreeBASIC}}
<syntaxhighlight lang="yabasic">sub printFactors(n)
if n < 1 return 0
for i = 1 to n / 2
if mod(n, i) = 0
next i
print n
Line 1,854 ⟶ 1,867:
printFactors(96)
print
end</syntaxhighlight>
==={{header|ZX Spectrum Basic}}===
{{trans|AWK}}
<syntaxhighlight lang="
20 IF n=0 THEN STOP
30 PRINT "Factors of ";n;": ";
Line 5,362 ⟶ 5,370:
Real time: 13.082 s CPU share: 99.16 %
</pre>
=={{header|PascalABC.NET}}==
<syntaxhighlight lang="delphi">
function Factors(n: integer): List<integer>;
begin
var res := HSet(1,n);
for var i:=2 to n.Sqrt.Trunc do
if n.Divs(i) then
begin
res.Add(i);
res.Add(n div i);
end;
Result := res.Order.ToList;
end;
begin
foreach var x in |45,53,64| do
Println(x,Factors(x));
end.
</syntaxhighlight>
{{out}}
<pre>
45 [1,3,5,9,15,45]
53 [1,53]
64 [1,2,4,8,16,32,64]
</pre>
=={{header|Perl}}==
Line 6,021 ⟶ 6,056:
print mold/flat sort factors num
]</syntaxhighlight>
=={{header|Refal}}==
<syntaxhighlight lang="refal">$ENTRY Go {
= <Prout <Factors 120>>;
}
Factors {
s.N = <Factors (s.N 1)>;
(s.N s.D), <Compare s.N <* s.D s.D>>: '-' = ;
(s.N s.D), <Divmod s.N s.D>: {
(s.D) 0 = s.D;
(s.F) 0 = s.D <Factors (s.N <+ 1 s.D>)> s.F;
(s.X) s.Y = <Factors (s.N <+ 1 s.D>)>;
};
};</syntaxhighlight>
{{out}}
<pre>1 2 3 4 5 6 8 10 12 15 20 24 30 40 60 120</pre>
=={{header|Relation}}==
Line 6,930 ⟶ 6,982:
1 3 5 9 15 45
1 53</pre>
=={{header|Uiua}}==
<syntaxhighlight lang="uiua">
Factors ← ◴⊂⟜(⇌÷)⊸(▽:⟜≡(=0◿)⊙¤⊸(↘1⇡+1⌊√))
⍚Factors {45 53 64}
</syntaxhighlight>
{{out}}
<pre>
{[1 3 5 9 15 45] [1 53] [1 2 4 8 16 32 64]}
</pre>
=={{header|UNIX Shell}}==
Line 7,039 ⟶ 7,102:
{{libheader|Wren-fmt}}
{{libheader|Wren-math}}
<syntaxhighlight lang="
import "./math" for Int
var a = [11, 21, 32, 45, 67, 96, 159, 723, 1024, 5673, 12345, 32767, 123459, 999997]
System.print("The factors of the following numbers are:")
for (e in a)
{{out}}
<pre>
|