Find square difference: Difference between revisions

Content added Content deleted
(Added Sidef)
Line 532: Line 532:
Latest number is = 501
Latest number is = 501
done...
done...
</pre>

=={{header|Sidef}}==
<lang ruby>var N = 1000

# Binary search
var n = bsearch_ge(1, N, {|k|
k**2 - (k-1)**2 <=> N+1
})

# Closed-form
var m = ceil((N + 1 + N&1) / 2)

assert(n**2 - (n-1)**2 > N)
assert_eq(n, m)

say "#{n}^2 - #{n-1}^2 = #{n**2 - (n-1)**2}"</lang>
{{out}}
<pre>
501^2 - 500^2 = 1001
</pre>
</pre>