Countdown: Difference between revisions

→‎{{header|Quorum}}: Replace french variables names with english variables names
(Add Quorum exact solution (no search of the "as close as possible" solution))
(→‎{{header|Quorum}}: Replace french variables names with english variables names)
Line 40:
DateTime datetime
number start = datetime:GetEpochTime()
List<integer> tiragenumbers
tiragenumbers:Add(100)
tiragenumbers:Add(75)
tiragenumbers:Add(50)
tiragenumbers:Add(25)
tiragenumbers:Add(6)
tiragenumbers:Add(3)
Solution(952,tiragenumbers)
number stop = datetime:GetEpochTime()
output stop-start + " ms"
end
 
action Solution(integer cibletarget, List<integer> tiragenumbers) returns boolean
if tiragenumbers:GetSize() = 1
return false
end
 
Iterator<integer> it0 = tiragenumbers:GetIterator()
repeat while it0:HasNext()
 
integer n0 = it0:Next()
List<integer> tirage1numbers1 = cast(List<integer>, tiragenumbers:Copy())
tirage1numbers1:Remove(n0)
 
Iterator<integer> it1 = tirage1numbers1:GetIterator()
repeat while it1:HasNext()
 
integer n1 = it1:Next()
List<integer> tirage2numbers2 = cast(List<integer>, tirage1numbers1:Copy())
tirage2numbers2:Remove(n1)
 
integer res = 0
List<integer> tirageNewnumbersNew
 
res = n0 + n1
tirageNewnumbersNew = cast(List<integer>, tirage2numbers2:Copy())
tirageNewnumbersNew:Add(res)
if res = cibletarget or Solution(cibletarget, tirageNewnumbersNew)
output res + " = " + n0 + " + " + n1
return true
Line 84:
 
res = n0 * n1
tirageNewnumbersNew = cast(List<integer>, tirage2numbers2:Copy())
tirageNewnumbersNew:Add(res)
if res = cibletarget or Solution(cibletarget, tirageNewnumbersNew)
output res + " = " + n0 + " * " + n1
return true
Line 93:
if n0 > n1
res = n0 - n1
tirageNewnumbersNew = cast(List<integer>, tirage2numbers2:Copy())
tirageNewnumbersNew:Add(res)
if res = cibletarget or Solution(cibletarget, tirageNewnumbersNew)
output res + " = " + n0 + " - " + n1
return true
Line 101:
elseif n1 > n0
res = n1 - n0
tirageNewnumbersNew = cast(List<integer>, tirage2numbers2:Copy())
tirageNewnumbersNew:Add(res)
if res = cibletarget or Solution(cibletarget, tirageNewnumbersNew)
output res + " = " + n1 + " - " + n0
return true
Line 112:
if n0 mod n1 = 0
res = n0 / n1
tirageNewnumbersNew = cast(List<integer>, tirage2numbers2:Copy())
tirageNewnumbersNew:Add(res)
if res = cibletarget or Solution(cibletarget, tirageNewnumbersNew)
output res + " = " + n0 + " / " + n1
return true
Line 122:
if n1 mod n0 = 0
res = n1 / n0
tirageNewnumbersNew = cast(List<integer>, tirage2numbers2:Copy())
tirageNewnumbersNew:Add(res)
if res = cibletarget or Solution(cibletarget, tirageNewnumbersNew)
output res + " = " + n1 + " / " + n0
return true
451

edits