fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4. import java.math.BigInteger;
  5.  
  6. class Ideone
  7. {
  8. public static void main (String[] args) throws java.lang.Exception
  9. {
  10. java.util.function.UnaryOperator<BigInteger> squareRootFunction = (inputData) -> {
  11. BigInteger squareRoot1 = inputData.divide(BigInteger.valueOf(2L));
  12. do {
  13. BigInteger squareRoot2 = squareRoot1;
  14. squareRoot1 = inputData.divide(squareRoot2).add(squareRoot2).divide(BigInteger.valueOf(2L));
  15. if(squareRoot1.compareTo(squareRoot2) == 0) return squareRoot1;
  16. } while(true);
  17. };
  18.  
  19. BigInteger inputData = new BigInteger("1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012");
  20. System.out.println(inputData);
  21. BigInteger 平方根 = squareRootFunction.apply(inputData);
  22. System.out.println(平方根);
  23. BigInteger 検算値 = inputData.divide(squareRootFunction.apply(inputData));
  24. System.out.println(検算値.multiply(検算値));
  25. System.out.println(検算値.multiply(平方根));
  26. }
  27. }
Success #stdin #stdout 0.23s 34128KB
stdin
Standard input is empty
stdout
1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012
35136418288201442531112223816998829391748408772394003368165480068665646116465388194949300644461930324
1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890151889460982042973446426033935720759455549432191075769060987454123277254824987002346224638225154605625
1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890116753042693841530915313810118721930063801023418681765692821974054611608708521614151275337580692675300