Total circles area: Difference between revisions

Added Arturo implementation
(Updated to work with Nim 1.4: added "import sequtils"; corrected ".. <". Also replaced "map" with the simpler "mapIt". Added a template "sqr".)
(Added Arturo implementation)
Line 114:
Approximated area: 21.561559772
</pre>
 
=={{header|Arturo}}==
 
{{trans|Python}}
 
<lang rebol>circles: @[
@[ 1.6417233788 1.6121789534 0.0848270516]
@[neg 1.4944608174 1.2077959613 1.1039549836]
@[ 0.6110294452 neg 0.6907087527 0.9089162485]
@[ 0.3844862411 0.2923344616 0.2375743054]
@[neg 0.2495892950 neg 0.3832854473 1.0845181219]
@[ 1.7813504266 1.6178237031 0.8162655711]
@[neg 0.1985249206 neg 0.8343333301 0.0538864941]
@[neg 1.7011985145 neg 0.1263820964 0.4776976918]
@[neg 0.4319462812 1.4104420482 0.7886291537]
@[ 0.2178372997 neg 0.9499557344 0.0357871187]
@[neg 0.6294854565 neg 1.3078893852 0.7653357688]
@[ 1.7952608455 0.6281269104 0.2727652452]
@[ 1.4168575317 1.0683357171 1.1016025378]
@[ 1.4637371396 0.9463877418 1.1846214562]
@[neg 0.5263668798 1.7315156631 1.4428514068]
@[neg 1.2197352481 0.9144146579 1.0727263474]
@[neg 0.1389358881 0.1092805780 0.7350208828]
@[ 1.5293954595 0.0030278255 1.2472867347]
@[neg 0.5258728625 1.3782633069 1.3495508831]
@[neg 0.1403562064 0.2437382535 1.3804956588]
@[ 0.8055826339 neg 0.0482092025 0.3327165165]
@[neg 0.6311979224 0.7184578971 0.2491045282]
@[ 1.4685857879 neg 0.8347049536 1.3670667538]
@[neg 0.6855727502 1.6465021616 1.0593087096]
@[ 0.0152957411 0.0638919221 0.9771215985]
]
xMin: min map circles 'c -> c\0 - c\2
xMax: max map circles 'c -> c\0 + c\2
yMin: min map circles 'c -> c\1 - c\2
yMax: max map circles 'c -> c\1 + c\2
 
boxSide: 500
dx: (xMax - xMin) / boxSide
dy: (yMax - yMin) / boxSide
count: 0
 
loop 0..dec boxSide 'r [
y: yMin + r * dy
loop 0..dec boxSide 'c [
x: xMin + c * dx
loop circles 'circle [
if (add (x - first circle)*(x - first circle) (y - circle\1)*(y - circle\1)) =< (last circle)*(last circle) [
count: count + 1
break
]
]
]
]
 
print ["Approximated area: " count * dx * dy]</lang>
 
{{out}}
 
<pre>Approximated area: 21.56155977200332</pre>
 
=={{header|C}}==
1,532

edits