June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
|
|
@ -1,22 +1,11 @@
|
|||
REM "100 Doors" program for QB64 BASIC (http://www.qb64.net/), a QuickBASIC-like compiler.
|
||||
REM Author: G. A. Tippery
|
||||
REM Date: 12-Feb-2014
|
||||
REM
|
||||
REM Unoptimized (naive) version, per specifications at http://rosettacode.org/wiki/100_doors
|
||||
|
||||
DEFINT A-Z
|
||||
CONST N = 100
|
||||
DIM door(N)
|
||||
|
||||
FOR stride = 1 TO N
|
||||
FOR index = stride TO N STEP stride
|
||||
LET door(index) = NOT (door(index))
|
||||
NEXT index
|
||||
NEXT stride
|
||||
|
||||
PRINT "Open doors:"
|
||||
FOR index = 1 TO N
|
||||
IF door(index) THEN PRINT index
|
||||
NEXT index
|
||||
|
||||
END
|
||||
100 :
|
||||
110 REM 100 DOORS PROBLEM
|
||||
120 :
|
||||
130 DIM D(100)
|
||||
140 FOR P = 1 TO 100
|
||||
150 FOR T = P TO 100 STEP P
|
||||
160 D(T) = NOT D(T): NEXT T
|
||||
170 NEXT P
|
||||
180 FOR I = 1 TO 100
|
||||
190 IF D(I) THEN PRINT I;" ";
|
||||
200 NEXT I
|
||||
|
|
|
|||
|
|
@ -1,16 +1,34 @@
|
|||
DIM doors(0 TO 99)
|
||||
FOR pass = 0 TO 99
|
||||
FOR door = pass TO 99 STEP pass + 1
|
||||
PRINT doors(door)
|
||||
PRINT NOT doors(door)
|
||||
doors(door) = NOT doors(door)
|
||||
NEXT door
|
||||
NEXT pass
|
||||
FOR i = 0 TO 99
|
||||
PRINT "Door #"; i + 1; " is ";
|
||||
IF NOT doors(i) THEN
|
||||
PRINT "closed"
|
||||
ELSE
|
||||
PRINT "open"
|
||||
END IF
|
||||
NEXT i
|
||||
# 100 doors problem
|
||||
dim d(100)
|
||||
|
||||
# simple solution
|
||||
print "simple solution"
|
||||
gosub initialize
|
||||
for t = 1 to 100
|
||||
for j = t to 100 step t
|
||||
d[j-1] = not d[j-1]
|
||||
next j
|
||||
next t
|
||||
gosub showopen
|
||||
|
||||
# more optimized solution
|
||||
print "more optimized solution"
|
||||
gosub initialize
|
||||
for t = 1 to 10
|
||||
d[t^2-1] = true
|
||||
next t
|
||||
gosub showopen
|
||||
end
|
||||
|
||||
initialize:
|
||||
for t = 1 to d[?]
|
||||
d[t-1] = false # closed
|
||||
next t
|
||||
return
|
||||
|
||||
showopen:
|
||||
for t = 1 to d[?]
|
||||
print d[t-1]+ " ";
|
||||
if t%10 = 0 then print
|
||||
next t
|
||||
return
|
||||
|
|
|
|||
|
|
@ -1,12 +1,9 @@
|
|||
DIM doors(0 TO 99)
|
||||
FOR door = 0 TO 99
|
||||
IF INT(SQR(door)) = SQR(door) THEN doors(door) = -1
|
||||
NEXT door
|
||||
FOR i = 0 TO 99
|
||||
PRINT "Door #"; i + 1; " is ";
|
||||
IF NOT doors(i) THEN
|
||||
PRINT "closed"
|
||||
ELSE
|
||||
PRINT "open"
|
||||
END IF
|
||||
NEXT i
|
||||
10 DIM D(100)
|
||||
20 FOR I=1 TO 100
|
||||
30 FOR J=I TO 100 STEP I
|
||||
40 D(J) = NOT D(J)
|
||||
50 NEXT J
|
||||
60 NEXT I
|
||||
70 FOR I=1 TO 100
|
||||
80 IF D(I) THEN PRINT I,
|
||||
90 NEXT I
|
||||
|
|
|
|||
|
|
@ -1,10 +1,22 @@
|
|||
'lrcvs 04.11.12
|
||||
cls
|
||||
x = 1 : y = 3 : z = 0
|
||||
print x + " Open"
|
||||
do
|
||||
z = x + y
|
||||
print z + " Open"
|
||||
x = z : y = y + 2
|
||||
until z >= 100
|
||||
end
|
||||
REM "100 Doors" program for QB64 BASIC (http://www.qb64.net/), a QuickBASIC-like compiler.
|
||||
REM Author: G. A. Tippery
|
||||
REM Date: 12-Feb-2014
|
||||
REM
|
||||
REM Unoptimized (naive) version, per specifications at http://rosettacode.org/wiki/100_doors
|
||||
|
||||
DEFINT A-Z
|
||||
CONST N = 100
|
||||
DIM door(N)
|
||||
|
||||
FOR stride = 1 TO N
|
||||
FOR index = stride TO N STEP stride
|
||||
LET door(index) = NOT (door(index))
|
||||
NEXT index
|
||||
NEXT stride
|
||||
|
||||
PRINT "Open doors:"
|
||||
FOR index = 1 TO N
|
||||
IF door(index) THEN PRINT index
|
||||
NEXT index
|
||||
|
||||
END
|
||||
|
|
|
|||
|
|
@ -1,9 +1,16 @@
|
|||
10 DIM D(100)
|
||||
20 FOR I=1 TO 100
|
||||
30 FOR J=I TO 100 STEP I
|
||||
40 LET D(J)=NOT D(J)
|
||||
50 NEXT J
|
||||
60 NEXT I
|
||||
70 FOR I=1 TO 100
|
||||
80 IF D(I) THEN PRINT I,
|
||||
90 NEXT I
|
||||
DIM doors(0 TO 99)
|
||||
FOR pass = 0 TO 99
|
||||
FOR door = pass TO 99 STEP pass + 1
|
||||
PRINT doors(door)
|
||||
PRINT NOT doors(door)
|
||||
doors(door) = NOT doors(door)
|
||||
NEXT door
|
||||
NEXT pass
|
||||
FOR i = 0 TO 99
|
||||
PRINT "Door #"; i + 1; " is ";
|
||||
IF NOT doors(i) THEN
|
||||
PRINT "closed"
|
||||
ELSE
|
||||
PRINT "open"
|
||||
END IF
|
||||
NEXT i
|
||||
|
|
|
|||
|
|
@ -1,34 +1,12 @@
|
|||
# 100 doors problem
|
||||
dim d(100)
|
||||
|
||||
# simple solution
|
||||
print "simple solution"
|
||||
gosub initialize
|
||||
for t = 1 to 100
|
||||
for j = t to 100 step t
|
||||
d[j-1] = not d[j-1]
|
||||
next j
|
||||
next t
|
||||
gosub showopen
|
||||
|
||||
# more optimized solution
|
||||
print "more optimized solution"
|
||||
gosub initialize
|
||||
for t = 1 to 10
|
||||
d[t^2-1] = true
|
||||
next t
|
||||
gosub showopen
|
||||
end
|
||||
|
||||
initialize:
|
||||
for t = 1 to d[?]
|
||||
d[t-1] = false # closed
|
||||
next t
|
||||
return
|
||||
|
||||
showopen:
|
||||
for t = 1 to d[?]
|
||||
print d[t-1]+ " ";
|
||||
if t%10 = 0 then print
|
||||
next t
|
||||
return
|
||||
DIM doors(0 TO 99)
|
||||
FOR door = 0 TO 99
|
||||
IF INT(SQR(door)) = SQR(door) THEN doors(door) = -1
|
||||
NEXT door
|
||||
FOR i = 0 TO 99
|
||||
PRINT "Door #"; i + 1; " is ";
|
||||
IF NOT doors(i) THEN
|
||||
PRINT "closed"
|
||||
ELSE
|
||||
PRINT "open"
|
||||
END IF
|
||||
NEXT i
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
10 DIM D(100)
|
||||
20 FOR I=1 TO 100
|
||||
30 FOR J=I TO 100 STEP I
|
||||
40 D(J) = NOT D(J)
|
||||
50 NEXT J
|
||||
60 NEXT I
|
||||
70 FOR I=1 TO 100
|
||||
80 IF D(I) THEN PRINT I,
|
||||
90 NEXT I
|
||||
'lrcvs 04.11.12
|
||||
cls
|
||||
x = 1 : y = 3 : z = 0
|
||||
print x + " Open"
|
||||
do
|
||||
z = x + y
|
||||
print z + " Open"
|
||||
x = z : y = y + 2
|
||||
until z >= 100
|
||||
end
|
||||
|
|
|
|||
9
Task/100-doors/BASIC/100-doors-8.basic
Normal file
9
Task/100-doors/BASIC/100-doors-8.basic
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
10 DIM D(100)
|
||||
20 FOR I=1 TO 100
|
||||
30 FOR J=I TO 100 STEP I
|
||||
40 LET D(J)=NOT D(J)
|
||||
50 NEXT J
|
||||
60 NEXT I
|
||||
70 FOR I=1 TO 100
|
||||
80 IF D(I) THEN PRINT I,
|
||||
90 NEXT I
|
||||
Loading…
Add table
Add a link
Reference in a new issue