Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
45
Task/Combinations/BBC-BASIC/combinations.basic
Normal file
45
Task/Combinations/BBC-BASIC/combinations.basic
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
INSTALL @lib$+"SORTLIB"
|
||||
sort% = FN_sortinit(0,0)
|
||||
|
||||
M% = 3
|
||||
N% = 5
|
||||
|
||||
C% = FNfact(N%)/(FNfact(M%)*FNfact(N%-M%))
|
||||
DIM s$(C%)
|
||||
PROCcomb(M%, N%, s$())
|
||||
|
||||
CALL sort%, s$(0)
|
||||
FOR I% = 0 TO C%-1
|
||||
PRINT s$(I%)
|
||||
NEXT
|
||||
END
|
||||
|
||||
DEF PROCcomb(C%, N%, s$())
|
||||
LOCAL I%, U%
|
||||
FOR U% = 0 TO 2^N%-1
|
||||
IF FNbits(U%) = C% THEN
|
||||
s$(I%) = FNlist(U%)
|
||||
I% += 1
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDPROC
|
||||
|
||||
DEF FNbits(U%)
|
||||
LOCAL N%
|
||||
WHILE U%
|
||||
N% += 1
|
||||
U% = U% AND (U%-1)
|
||||
ENDWHILE
|
||||
= N%
|
||||
|
||||
DEF FNlist(U%)
|
||||
LOCAL N%, s$
|
||||
WHILE U%
|
||||
IF U% AND 1 s$ += STR$(N%) + " "
|
||||
N% += 1
|
||||
U% = U% >> 1
|
||||
ENDWHILE
|
||||
= s$
|
||||
|
||||
DEF FNfact(N%)
|
||||
IF N%<=1 THEN = 1 ELSE = N%*FNfact(N%-1)
|
||||
Loading…
Add table
Add a link
Reference in a new issue