Square but not cube: Difference between revisions
Content added Content deleted
m (→{{header|Commodore BASIC}}: Fix inner loop goto target) |
|||
Line 702: | Line 702: | ||
=={{header|Commodore BASIC}}== |
=={{header|Commodore BASIC}}== |
||
{{trans|BASIC}} |
{{trans|BASIC}} |
||
<lang basic>100 DIM SC(2):SC=0: REM REMEMBER SQUARE CUBES |
<lang basic>100 DIM SC(2): SC = 0: REM REMEMBER SQUARE CUBES |
||
110 PRINT "SQUARES BUT NOT CUBES:" |
110 PRINT "SQUARES BUT NOT CUBES:" |
||
120 N = 0: REM NUMBER OF NON-CUBE SQUARES FOUND |
|||
120 I=1: CU=1: SQ=1: RT=1: N=0 |
|||
130 SR = 1: REM CURRENT SQUARE ROOT |
|||
130 IF N=30 THEN 200 |
|||
140 CR = 1: CU = 1: REM CURRENT CUBE ROOT AND CUBE |
|||
140 SQ=I*I |
|||
150 REM BEGIN LOOP |
|||
⚫ | |||
160 IF |
160 : IF N >= 30 THEN 230 |
||
170 |
170 : SQ = SR * SR |
||
⚫ | |||
180 I=I+1 |
|||
190 : IF SQ = CU THEN SC(SC) = SQ: SC = SC + 1 |
|||
190 GOTO 130 |
|||
200 |
200 : IF SQ < CU THEN N = N + 1:PRINT SQ, |
||
210 |
210 : SR = SR + 1 |
||
220 GOTO 160: REM END LOOP |
|||
⚫ | |||
230 PRINT |
230 PRINT: PRINT |
||
240 PRINT "BOTH SQUARES AND CUBES:" |
|||
⚫ | |||
260 PRINT</lang> |
|||
{{works with|Commodore BASIC|7.0}} |
|||
This version uses BASIC 7's DO ... LOOP structure: |
|||
<pre>100 DIM SC(2): SC = 0: REM REMEMBER SQUARE CUBES |
|||
110 PRINT "SQUARES BUT NOT CUBES:" |
|||
120 N = 0: REM NUMBER OF NON-CUBE SQUARES FOUND |
|||
130 SR = 1: REM CURRENT SQUARE ROOT |
|||
140 CR = 1: CU = 1: REM CURRENT CUBE ROOT AND CUBE |
|||
150 DO WHILE N < 30 |
|||
170 : SQ = SR * SR |
|||
180 : DO WHILE SQ > CU: CR = CR + 1: CU = CR*CR*CR: LOOP |
|||
190 : IF SQ = CU THEN SC(SC) = SQ: SC = SC + 1 |
|||
200 : IF SQ < CU THEN N = N + 1:PRINT SQ, |
|||
210 : SR = SR + 1 |
|||
220 LOOP |
|||
230 PRINT: PRINT |
|||
240 PRINT "BOTH SQUARES AND CUBES:" |
|||
250 FOR I=0 TO SC-1: PRINT SC(I),: NEXT I |
|||
260 PRINT</pre> |
|||
{{Out}} |
{{Out}} |