Largest prime factor: Difference between revisions

Largest prime factor in various dialects BASIC (*BASIC256, Chipmunk Basic, **QBasic, *True BASIC, XBasic and Yabasic)
(Largest prime factor in Run BASIC)
(Largest prime factor in various dialects BASIC (*BASIC256, Chipmunk Basic, **QBasic, *True BASIC, XBasic and Yabasic))
Line 148:
Código sacado de https://www.calormen.com/jsbasic/ El código original es de Christiano Trabuio.
<syntaxhighlight lang="qbasic">100 HOME
110 LET a = 600851475143
120 LET f = 0
130 IF a/2 = INT(a/2) THEN LET a = a/2: LET f = 1: GOTO 130
140 LET i = 3
150 LET e = INT(SQR(a)) + 2
160 LET f = 0
170 FOR n = i TO e STEP 2
180 IF a /n = INT(a/n) THEN LET a = a / n: LET i = n: LET n = e: LET f = 1
190 NEXT n
200 IF a > n AND f <> 0 THEN GOTO 160
210 PRINT a
220 END</syntaxhighlight>
{{out}}
<pre>6857</pre>
 
==={{header|BASIC256}}===
<syntaxhighlight lang="basic">#No primality testing is even required.
n = 600851475143
j = 3
do
if int(n/j) = n/j then n /= j
j += 2
until j = n
print n</syntaxhighlight>
{{out}}
<pre>6857</pre>
 
==={{header|Chipmunk Basic}}===
{{works with|Chipmunk Basic|3.6.4}}
{{trans|Applesoft BASIC}}
<syntaxhighlight lang="basic">100 CLS : REM 10 HOME para Applesoft BASIC
110 LET a = 600851475143
120 LET f = 0
Line 183 ⟶ 214:
100 PRINT N#</syntaxhighlight>
{{output}}<pre>6857</pre>
 
==={{header|QBasic}}===
{{works with|QBasic|1.1}}
{{works with|QuickBasic|4.5}}
<syntaxhighlight lang="qbasic">REM No primality testing is even required.
DIM a AS DOUBLE
a = 600851475143#
i = 3
DO
IF INT(a / i) = a / i THEN a = a / i
i = i + 2
LOOP UNTIL a = i ' o WHILE a <> i
PRINT a</syntaxhighlight>
{{out}}
<pre>6857</pre>
 
==={{header|Run BASIC}}===
Line 216 ⟶ 262:
<pre>6857
6857</pre>
 
==={{header|True BASIC}}===
<syntaxhighlight lang="qbasic">!No primality testing is even required.
LET n = 600851475143
LET j = 3
DO WHILE j <> n
IF INT(n/j) = n / j THEN LET n = n / j
LET j = j + 2
LOOP
PRINT n
END</syntaxhighlight>
{{out}}
<pre>6857</pre>
 
==={{header|XBasic}}===
{{works with|Windows XBasic}}
<syntaxhighlight lang="qbasic">PROGRAM "LPF"
VERSION "0.0000"
 
DECLARE FUNCTION Entry ()
 
FUNCTION Entry ()
'No primality testing is even required.
DOUBLE n
n = 600851475143
j = 3
 
DO
IF INT(n/j) = n/j THEN n = n / j
j = j + 2
LOOP UNTIL j = n
PRINT n
END FUNCTION
END PROGRAM</syntaxhighlight>
{{out}}
<pre>6857</pre>
 
==={{header|Yabasic}}===
<syntaxhighlight lang="basic">//No primality testing is even required.
n = 600851475143
j = 3
repeat
if int(n/j) = n/j n = n / j
j = j + 2
until j = n
print n</syntaxhighlight>
{{out}}
<pre>6857</pre>
 
=={{header|BCPL}}==
2,136

edits