B
This commit is contained in:
parent
e5e8880e41
commit
518da4a923
1019 changed files with 15877 additions and 0 deletions
29
Task/Balanced-brackets/BBC-BASIC/balanced-brackets.bbc
Normal file
29
Task/Balanced-brackets/BBC-BASIC/balanced-brackets.bbc
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
FOR x%=1 TO 10
|
||||
test$=FNgenerate(RND(10))
|
||||
PRINT "Bracket string ";test$;" is ";FNvalid(test$)
|
||||
NEXT x%
|
||||
END
|
||||
:
|
||||
DEFFNgenerate(n%)
|
||||
LOCAL l%,r%,t%,output$
|
||||
WHILE l%<n% AND r%<n%
|
||||
CASE RND(2) OF
|
||||
WHEN 1:
|
||||
l%+=1
|
||||
output$+="["
|
||||
WHEN 2:
|
||||
r%+=1
|
||||
output$+="]"
|
||||
ENDCASE
|
||||
ENDWHILE
|
||||
IF l%=n% THEN output$+=STRING$(n%-r%,"]") ELSE output$+=STRING$(n%-l%,"[")
|
||||
=output$
|
||||
:
|
||||
DEFFNvalid(q$)
|
||||
LOCAL x%,count%
|
||||
IF LEN(q$)=0 THEN ="OK."
|
||||
FOR x%=1 TO LEN(q$)
|
||||
IF MID$(q$,x%,1)="[" THEN count%+=1 ELSE count%-=1
|
||||
IF count%<0 THEN ="not OK."
|
||||
NEXT x%
|
||||
="OK."
|
||||
27
Task/Balanced-brackets/Bracmat/balanced-brackets.bracmat
Normal file
27
Task/Balanced-brackets/Bracmat/balanced-brackets.bracmat
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
( (bal=|"[" !bal "]" !bal)
|
||||
& ( generate
|
||||
= a j m n z N S someNumber
|
||||
. !arg:<1&
|
||||
| 11^123+13^666+17^321:?someNumber
|
||||
& (!arg:?n)+1:?N
|
||||
& :?S
|
||||
& whl
|
||||
' (!n+-1:~<0:?n&"[" "]" !S:?S)
|
||||
& whl
|
||||
' ( !someNumber:>0
|
||||
& mod$(!someNumber.!N):?j
|
||||
& div$(!someNumber.!N):?someNumber
|
||||
& !S:?a [!j ?m [!N ?z
|
||||
& !z !m !a:?S
|
||||
)
|
||||
& !S
|
||||
)
|
||||
& 0:?L
|
||||
& whl
|
||||
' ( generate$!L:?S
|
||||
& put$(str$(!S ":"))
|
||||
& out
|
||||
$ (!S:!bal&Balanced|"Not balanced")
|
||||
& !L+1:<11:?L
|
||||
)
|
||||
);
|
||||
31
Task/Balanced-brackets/Brat/balanced-brackets.brat
Normal file
31
Task/Balanced-brackets/Brat/balanced-brackets.brat
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
string.prototype.balanced? = {
|
||||
brackets = []
|
||||
balanced = true
|
||||
|
||||
my.dice.each_while { c |
|
||||
true? c == "["
|
||||
{ brackets << c }
|
||||
{ true? c == "]"
|
||||
{ last = brackets.pop
|
||||
false? last == "["
|
||||
{ balanced = false }
|
||||
}
|
||||
}
|
||||
|
||||
balanced
|
||||
}
|
||||
|
||||
true? brackets.empty?
|
||||
{ balanced }
|
||||
{ false }
|
||||
}
|
||||
|
||||
generate_brackets = { n | (n.of("[") + n.of("]")).shuffle.join }
|
||||
|
||||
1.to 10 { n |
|
||||
test = generate_brackets n
|
||||
|
||||
true? test.balanced?
|
||||
{ p "#{test} is balanced" }
|
||||
{ p "#{test} is not balanced" }
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue