Guest User

Untitled

a guest
Jul 19th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.73 KB | None | 0 0
  1. package com.nagarro;
  2.  
  3. import java.text.DecimalFormat;
  4. import java.util.Scanner;
  5.  
  6. public class SquareRoot {
  7.  
  8. public static void main(String[] args) {
  9.  
  10. Scanner scn = new Scanner(System.in);
  11. int tc = scn.nextInt();
  12.  
  13. for (int i = 0; i < tc; i++) {
  14. int n = scn.nextInt();
  15. System.out.println(new StringBuilder("%10d.4f", squareRoot(n));
  16. DecimalFormat df = new DecimalFormat("#.####");
  17.  
  18. }
  19.  
  20. // double d = squareRoot(100, 4);
  21. // int k = (int)(d*10000);
  22. // String p = String.valueOf(k);
  23. // int len = p.length();
  24. // System.out.println(p.substring(0, len-4) + "." + p.substring(len-4, p.length()));
  25. //
  26. //// System.out.println(squareRoot(100, 4));
  27. //
  28. // // Function calling
  29. // System.out.println(squareRoot(1000, 4));
  30.  
  31.  
  32. }
  33.  
  34. private static float squareRoot(int num) {
  35. int start = 0, end = num;
  36. int middleNumber;
  37.  
  38. double currentAnswer = 0.0;
  39.  
  40. while (start <= end) {
  41. middleNumber = (start + end) / 2;
  42.  
  43. if (middleNumber * middleNumber == num) {
  44. currentAnswer = middleNumber;
  45. break;
  46. }
  47. if (middleNumber * middleNumber < num) {
  48. start = middleNumber + 1;
  49. currentAnswer = middleNumber;
  50. } else {
  51. end = middleNumber - 1;
  52. }
  53. }
  54.  
  55. float increment = (float) 0.1;
  56. for (int i = 0; i < 4; i++) {
  57. while (currentAnswer * currentAnswer <= num) {
  58. currentAnswer += increment;
  59. }
  60.  
  61. currentAnswer = currentAnswer - increment;
  62. increment = increment / 10;
  63. }
  64. return (float) currentAnswer;
  65. }
  66. }
Add Comment
Please, Sign In to add comment