21
Open Forum / Re: AllBASIC Forum
« Last post by John on December 19, 2023, 12:27:09 PM »If you are still using a version of BASIC with your projects, please leave a post letting us know what you're using and what for.
1 REM https://rosettacode.org/wiki/Circular_primes
10 LET p = 2
20 LET s = 1
30 LET n = INT(LOG(p) / LOG(10))
40 LET m = 10 ^ n
50 LET q = p
60 LET r = 1
70 FOR i = 0 TO n
80 IF NOT(q < p OR PRIME(q) = 0) THEN 110
90 LET r = 0
100 BREAK i
110 LET q = (q MOD m) * 10 + INT(q / m)
120 NEXT i
130 IF NOT(r) THEN 160
140 PRINT p,
150 LET l = l + 1
160 LET p = p + s
170 LET s = 2
180 IF l < 19 THEN 30
1 REM https://rosettacode.org/wiki/Attractive_numbers
10 FOR x = 1 TO 120
20 LET n = x
30 LET c = 0
40 IF n MOD 2 <> 0 THEN 70
50 LET n = INT(n / 2)
60 LET c = c + 1
70 IF n MOD 2 = 0 THEN 40
80 FOR i = 3 TO SQR(n) STEP 2
90 IF n MOD i <> 0 THEN 120
100 LET n = INT(n / i)
110 LET c = c + 1
120 IF n MOD i = 0 THEN 90
130 NEXT i
140 IF n <= 2 THEN 160
150 LET c = c + 1
160 IF NOT(PRIME(c)) THEN 180
170 PRINT x,
180 NEXT x
190 PRINT
200 SHELL "pause"
1 REM https://rosettacode.org/wiki/Factors_of_an_integer
10 INPUT "enter a number: ", n
15 PRINT "the factors of "; n; " are ";
20 LET a = ABS(n)
30 LET i = i + 1
40 IF a <> INT(a / i) * i THEN 60
50 PRINT i; " ";
60 IF i < INT(a / 2) THEN 30
70 PRINT a; " ";
80 PRINT
90 SHELL "pause"
1 REM https://rosettacode.org/wiki/Nth_root
5 PRECISION 6
10 LET a = INT(RND * 5999) + 2
20 PRINT "nth root of "; a; "..."
30 FOR n = 1 TO 10
40 LET p = .00001
50 LET x = a
60 LET y = a / n
70 IF ABS(x - y) <= p THEN 110
80 LET x = y
90 LET y = ((n - 1) * y + a / y ^ (n - 1)) / n
100 IF ABS(x - y) > p THEN 80
110 PRINT n; " : "; y
120 NEXT n
130 SHELL "pause"
1 REM https://rosettacode.org/wiki/Attractive_numbers
10 FOR x = 1 TO 120
20 LET n = x
30 LET c = 0
40 IF n MOD 2 <> 0 THEN 70
50 LET n = INT(n / 2)
60 LET c = c + 1
70 IF n MOD 2 = 0 THEN 40
80 FOR i = 3 TO SQR(n) STEP 2
90 IF n MOD i <> 0 THEN 120
100 LET n = INT(n / i)
110 LET c = c + 1
120 IF n MOD i = 0 THEN 90
130 NEXT i
140 IF n <= 2 THEN 160
150 LET c = c + 1
160 IF NOT(PRIME(c)) THEN 180
170 PRINT x,
180 NEXT x
Program encoded url: https://www.lucidapogee.com/netbasic/?listing=1%20REM%20https%3A%2F%2Frosettacode.org%2Fwiki%2FAttractive_numbers%0D%0A10%20FOR%20x%20%3D%201%20TO%20120%0D%0A20%20LET%20n%20%3D%20x%0D%0A30%20LET%20c%20%3D%200%0D%0A40%20IF%20n%20MOD%202%20%3C%3E%200%20THEN%2070%0D%0A50%20LET%20n%20%3D%20INT%28n%20%2F%202%29%0D%0A60%20LET%20c%20%3D%20c%20%2B%201%0D%0A70%20IF%20n%20MOD%202%20%3D%200%20THEN%2040%0D%0A80%20FOR%20i%20%3D%203%20TO%20SQR%28n%29%20STEP%202%0D%0A90%20IF%20n%20MOD%20i%20%3C%3E%200%20THEN%20120%0D%0A100%20LET%20n%20%3D%20INT%28n%20%2F%20i%29%0D%0A110%20LET%20c%20%3D%20c%20%2B%201%0D%0A120%20IF%20n%20MOD%20i%20%3D%200%20THEN%2090%0D%0A130%20NEXT%20i%0D%0A140%20IF%20n%20%3C%3D%202%20THEN%20160%0D%0A150%20LET%20c%20%3D%20c%20%2B%201%0D%0A160%20IF%20NOT%28PRIME%28c%29%29%20THEN%20180%0D%0A170%20PRINT%20x%2C%0D%0A180%20NEXT%20x1 REM https://rosettacode.org/wiki/Nth_root
10 LET a = INT(RND * 5999) + 2
20 PRINT "nth root of "; a; "..."
30 FOR n = 1 TO 10
40 LET p = .00001
50 LET x = a
60 LET y = a / n
70 IF ABS(x - y) <= p THEN 110
80 LET x = y
90 LET y = ((n - 1) * y + a / y ^ (n - 1)) / n
100 IF ABS(x - y) > p THEN 80
110 PRINT n; " : "; y
120 NEXT n
Program encoded url: https://www.lucidapogee.com/netbasic/?listing=10%20LET%20a%20%3D%20INT%28RND%20%2A%205999%29%20%2B%202%0D%0A20%20PRINT%20%22nth%20root%20of%20%22%3B%20a%3B%20%22...%22%0D%0A30%20FOR%20n%20%3D%201%20TO%2010%0D%0A40%20LET%20p%20%3D%20.00001%0D%0A50%20LET%20x%20%3D%20a%0D%0A60%20LET%20y%20%3D%20a%20%2F%20n%0D%0A70%20IF%20ABS%28x%20-%20y%29%20%3C%3D%20p%20THEN%20110%0D%0A80%20LET%20x%20%3D%20y%0D%0A90%20LET%20y%20%3D%20%28%28n%20-%201%29%20%2A%20y%20%2B%20a%20%2F%20y%20%5E%20%28n%20-%201%29%29%20%2F%20n%0D%0A100%20IF%20ABS%28x%20-%20y%29%20%3E%20p%20THEN%2080%0D%0A110%20PRINT%20n%3B%20%22%20%3A%20%22%3B%20y%0D%0A120%20NEXT%20n1 REM https://rosettacode.org/wiki/Prime_decomposition
10 LET loops = 100
20 FOR x = 1 TO loops
30 LET n = x
40 PRINT n; " : ";
50 LET c = 0
60 IF n MOD 2 > 0 THEN 110
70 LET n = INT(n / 2)
80 LET @(c) = 2
90 LET c = c + 1
100 IF n MOD 2 = 0 THEN 70
110 FOR i = 3 TO SQR(n) STEP 2
120 IF n MOD i > 0 THEN 170
130 LET n = INT(n / i)
140 LET @(c) = i
150 LET c = c + 1
160 IF n MOD i = 0 THEN 130
170 NEXT i
180 IF n <= 2 THEN 210
190 LET @(c) = n
200 LET c = c + 1
210 FOR y = 0 TO c
220 IF @(y) = 0 THEN 250
230 PRINT @(y); " ";
240 LET @(y) = 0
250 NEXT y
260 PRINT
270 NEXT x
Program encoded url: https://www.lucidapogee.com/netbasic/?listing=1%20REM%20https%3A%2F%2Frosettacode.org%2Fwiki%2FPrime_decomposition%0D%0A10%20LET%20loops%20%3D%20100%0D%0A20%20FOR%20x%20%3D%201%20TO%20loops%0D%0A30%20LET%20n%20%3D%20x%0D%0A40%20PRINT%20n%3B%20%22%20%3A%20%22%3B%0D%0A50%20LET%20c%20%3D%200%0D%0A60%20IF%20n%20MOD%202%20%3E%200%20THEN%20110%0D%0A70%20LET%20n%20%3D%20INT%28n%20%2F%202%29%0D%0A80%20LET%20%40%28c%29%20%3D%202%0D%0A90%20LET%20c%20%3D%20c%20%2B%201%0D%0A100%20IF%20n%20MOD%202%20%3D%200%20THEN%2070%0D%0A110%20FOR%20i%20%3D%203%20TO%20SQR%28n%29%20STEP%202%0D%0A120%20IF%20n%20MOD%20i%20%3E%200%20THEN%20170%0D%0A130%20LET%20n%20%3D%20INT%28n%20%2F%20i%29%0D%0A140%20LET%20%40%28c%29%20%3D%20i%0D%0A150%20LET%20c%20%3D%20c%20%2B%201%0D%0A160%20IF%20n%20MOD%20i%20%3D%200%20THEN%20130%0D%0A170%20NEXT%20i%0D%0A180%20IF%20n%20%3C%3D%202%20THEN%20210%0D%0A190%20LET%20%40%28c%29%20%3D%20n%0D%0A200%20LET%20c%20%3D%20c%20%2B%201%0D%0A210%20FOR%20y%20%3D%200%20TO%20c%0D%0A220%20IF%20%40%28y%29%20%3D%200%20THEN%20250%0D%0A230%20PRINT%20%40%28y%29%3B%20%22%20%22%3B%0D%0A240%20LET%20%40%28y%29%20%3D%200%0D%0A250%20NEXT%20y%0D%0A260%20PRINT%0D%0A270%20NEXT%20x1 REM Prime Table
10 PRINT "Generating table of primes below..."
20 HTML
30 PRINT "<center><table><tr>"
40 FOR y = 1 TO 50
50 FOR x = 1 TO 20
60 LET i = i + 1
70 PRINT "<td style = 'border:1px solid black; background-color:yellow;'>"
80 PRINT i; ":<br /> "; PRIME(i)
90 PRINT "</td>"
100 NEXT x
110 PRINT "</tr><tr>"
120 NEXT y
130 PRINT "</tr></table></center>"
Program encoded url: https://www.lucidapogee.com/netbasic/?listing=1%20REM%20Prime%20Table%0D%0A10%20PRINT%20%22Generating%20table%20of%20primes%20below...%22%0D%0A20%20HTML%0D%0A30%20PRINT%20%22%3Ccenter%3E%3Ctable%3E%3Ctr%3E%22%0D%0A40%20FOR%20y%20%3D%201%20TO%2050%0D%0A50%20FOR%20x%20%3D%201%20TO%2020%0D%0A60%20LET%20i%20%3D%20i%20%2B%201%0D%0A70%20PRINT%20%22%3Ctd%20style%20%3D%20%27border%3A1px%20solid%20black%3B%20background-color%3Ayellow%3B%27%3E%22%0D%0A80%20PRINT%20i%3B%20%22%3A%3Cbr%20%2F%3E%20%22%3B%20PRIME%28i%29%0D%0A90%20PRINT%20%22%3C%2Ftd%3E%22%0D%0A100%20NEXT%20x%0D%0A110%20PRINT%20%22%3C%2Ftr%3E%3Ctr%3E%22%0D%0A120%20NEXT%20y%0D%0A130%20PRINT%20%22%3C%2Ftr%3E%3C%2Ftable%3E%3C%2Fcenter%3E%221 REM USD currency conversion
10 GET u
20 PRINT "$"; u; " USD ="
30 GET e
40 GET g
50 GET i
60 GET j
70 PRINT u * e; " EUR"
80 PRINT u * g; " GBP"
90 PRINT u * i; " INR"
100 PRINT u * j; " JPY"
<form action = "https://www.lucidapogee.com/netbasic/" target = "output" method = "get">
<p>
U<br /><input type = "text" name = "U" value = "1"><br />
E<br /><input type = "text" name = "E" value = ".925881"><br />
G<br /><input type = "text" name = "G" value = ".7924"><br />
I<br /><input type = "text" name = "I" value = "82.628"><br />
J<br /><input type = "text" name = "J" value = "145.96">
</p>
<input type = "hidden" name = "listing" value = "1%20REM%20USD%20currency%20conversion%0D%0A10%20GET%20u%0D%0A20%20PRINT%20%22%24%22%3B%20u%3B%20%22%20USD%20%3D%22%0D%0A30%20GET%20e%0D%0A40%20GET%20g%0D%0A50%20GET%20i%0D%0A60%20GET%20j%0D%0A70%20PRINT%20u%20*%20e%3B%20%20%22%20EUR%22%0D%0A80%20PRINT%20u%20*%20g%3B%20%22%20GBP%22%0D%0A90%20PRINT%20u%20*%20i%3B%20%22%20INR%22%0D%0A100%20PRINT%20u%20*%20j%3B%20%22%20JPY%22%0D%0A">
<input type = "submit">
</form>
<iframe name = "output"></iframe>