/* 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 SqrtByHand
{
public static int digitCounter( int num)
{
int count = 0 ; //, num = 0003452;
while ( num != 0 )
{
// num = num/10
num /= 10 ;
++ count;
}
System .
out .
println ( "Number of digits: " + count
) ; return count;
}
public static int closestSquare( int test)
{
int justUnder= 0 , count= 0 ;
while ( justUnder< test)
{
count++;
justUnder= count* count;
}
return count- 1 ;
}
{
int test= 9900 ;
int closest= closestSquare( test) * closestSquare( test) ;
System .
out .
println ( "The closest perfect square to " + test
+ " is " + closestSquare
( test
) + " because " + closestSquare
( test
) + " * " + closestSquare
( test
) + " = " + closest
) ;
System .
out .
println ( test
+ " has " + digitCounter
( test
) + "digits." ) ; }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgU3FydEJ5SGFuZAp7CiAgICBwdWJsaWMgc3RhdGljIGludCBkaWdpdENvdW50ZXIoaW50IG51bSkKICAgIHsKICAgICAgICBpbnQgY291bnQgPSAwOyAvLywgbnVtID0gMDAwMzQ1MjsKCiAgICAgICAgd2hpbGUgKG51bSAhPSAwKQogICAgICAgIHsKICAgICAgICAgICAgIC8vIG51bSA9IG51bS8xMAogICAgICAgICAgICAgIG51bSAvPSAxMDsKICAgICAgICAgICAgICArK2NvdW50OwogICAgICAgIH0KICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIk51bWJlciBvZiBkaWdpdHM6ICIgKyBjb3VudCk7CiAgICAgICAgcmV0dXJuIGNvdW50OwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgaW50IGNsb3Nlc3RTcXVhcmUoaW50IHRlc3QpCiAgICB7CiAgICAgICAgaW50IGp1c3RVbmRlcj0wLCBjb3VudD0wOwogICAgICAgIHdoaWxlIChqdXN0VW5kZXI8dGVzdCkKICAgICAgICB7CiAgICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgICAgIGp1c3RVbmRlcj1jb3VudCpjb3VudDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGNvdW50LTE7CiAgICB9CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKICAgICAgICBpbnQgdGVzdD05OTAwOwogICAgICAgIGludCBjbG9zZXN0PWNsb3Nlc3RTcXVhcmUodGVzdCkqY2xvc2VzdFNxdWFyZSh0ZXN0KTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oIlRoZSBjbG9zZXN0IHBlcmZlY3Qgc3F1YXJlIHRvICIgK3Rlc3QrICIgaXMgIiArY2xvc2VzdFNxdWFyZSh0ZXN0KSsgIiBiZWNhdXNlICIgK2Nsb3Nlc3RTcXVhcmUodGVzdCkrICIgKiAiICtjbG9zZXN0U3F1YXJlKHRlc3QpKyAiID0gIiArY2xvc2VzdCk7CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbih0ZXN0KyAiIGhhcyAiICtkaWdpdENvdW50ZXIodGVzdCkrICJkaWdpdHMuIik7Cgl9Cn0=