/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main
(String[] args
) {
}
public static float Compute
(float Number) {
// define variable sqrRoot to hold the approximate square root
float sqrRoot = 0;
// define temporary variable temp to hold prior value of iteration
float temp = 0;
// divide variable num by 2 to start the iterative process
// and assign the quotient to temp
// open a while() loop that continues as long as num >= 0.0
{
// construct the main iterative statement
sqrRoot
= temp
- (temp
* temp
- Number) / (2 * temp
); // open an if block to check if the absolute value of the difference of
// variables temp and sqrRoot is below a small sentinel value such as 0.0001
// if this condition is true then break the loop
float value;
value
= Math.
abs(temp
- sqrRoot
); if (value < .0001)
// return sqrRoot as the answer
return sqrRoot;
// if this condition is not true then assign sqrRoot to temp
else temp = sqrRoot;
// close the while() loop
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIAogICAgICB7CgogICAgICAgIGZsb2F0IE51bWJlciA9IDEyMy40NWY7CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiVGhlIHNxdWFyZSByb290IG9mICIgKyBOdW1iZXIgKyAiIGlzICIgKyBDb21wdXRlKE51bWJlcikpOwogICAgICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZsb2F0IENvbXB1dGUoZmxvYXQgTnVtYmVyKQogICAgewogICAgLy8gZGVmaW5lIHZhcmlhYmxlIHNxclJvb3QgdG8gaG9sZCB0aGUgYXBwcm94aW1hdGUgc3F1YXJlIHJvb3QKICAgIGZsb2F0IHNxclJvb3QgPSAwOwogICAgLy8gZGVmaW5lIHRlbXBvcmFyeSB2YXJpYWJsZSB0ZW1wIHRvIGhvbGQgcHJpb3IgdmFsdWUgb2YgaXRlcmF0aW9uCiAgICBmbG9hdCB0ZW1wID0gMDsKICAgIC8vIGRpdmlkZSB2YXJpYWJsZSBudW0gYnkgMiB0byBzdGFydCB0aGUgaXRlcmF0aXZlIHByb2Nlc3MKICAgIC8vIGFuZCBhc3NpZ24gdGhlIHF1b3RpZW50IHRvIHRlbXAKICAgIHRlbXAgPSBOdW1iZXIvMjsKICAgIC8vIG9wZW4gYSB3aGlsZSgpIGxvb3AgdGhhdCBjb250aW51ZXMgYXMgbG9uZyBhcyBudW0gPj0gMC4wCiAgICB3aGlsZSAoTnVtYmVyID49IDAuMCkKICAgIHsKICAgIC8vIGNvbnN0cnVjdCB0aGUgbWFpbiBpdGVyYXRpdmUgc3RhdGVtZW50CiAgICAgICAgc3FyUm9vdCA9IHRlbXAgLSAodGVtcCAqIHRlbXAgLSBOdW1iZXIpIC8gKDIgKiB0ZW1wKTsKICAgIC8vIG9wZW4gYW4gaWYgYmxvY2sgdG8gY2hlY2sgaWYgdGhlIGFic29sdXRlIHZhbHVlIG9mIHRoZSBkaWZmZXJlbmNlIG9mCiAgICAvLyB2YXJpYWJsZXMgdGVtcCBhbmQgc3FyUm9vdCBpcyBiZWxvdyBhIHNtYWxsIHNlbnRpbmVsIHZhbHVlIHN1Y2ggYXMgMC4wMDAxCiAgICAvLyBpZiB0aGlzIGNvbmRpdGlvbiBpcyB0cnVlIHRoZW4gYnJlYWsgdGhlIGxvb3AKICAgICAgICBmbG9hdCB2YWx1ZTsKICAgICAgICB2YWx1ZSA9IE1hdGguYWJzKHRlbXAgLSBzcXJSb290KTsKICAgICAgICBpZiAodmFsdWUgPCAuMDAwMSkKICAgICAgICAgICAgLy8gcmV0dXJuIHNxclJvb3QgYXMgdGhlIGFuc3dlcgogICAgICAgICAgICByZXR1cm4gc3FyUm9vdDsKICAgICAgICAgICAgLy8gaWYgdGhpcyBjb25kaXRpb24gaXMgbm90IHRydWUgdGhlbiBhc3NpZ24gc3FyUm9vdCB0byB0ZW1wCiAgICAgICAgICAgIGVsc2UgdGVtcCA9IHNxclJvb3Q7CgogICAgLy8gY2xvc2UgdGhlIHdoaWxlKCkgbG9vcAogICAgfQogICAgcmV0dXJuIE51bWJlcjsgIAogICAgfQp9Cg==