Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.nagarro;
- import java.text.DecimalFormat;
- import java.util.Scanner;
- public class SquareRoot {
- public static void main(String[] args) {
- Scanner scn = new Scanner(System.in);
- int tc = scn.nextInt();
- for (int i = 0; i < tc; i++) {
- int n = scn.nextInt();
- System.out.println(new StringBuilder("%10d.4f", squareRoot(n));
- DecimalFormat df = new DecimalFormat("#.####");
- }
- // double d = squareRoot(100, 4);
- // int k = (int)(d*10000);
- // String p = String.valueOf(k);
- // int len = p.length();
- // System.out.println(p.substring(0, len-4) + "." + p.substring(len-4, p.length()));
- //
- //// System.out.println(squareRoot(100, 4));
- //
- // // Function calling
- // System.out.println(squareRoot(1000, 4));
- }
- private static float squareRoot(int num) {
- int start = 0, end = num;
- int middleNumber;
- double currentAnswer = 0.0;
- while (start <= end) {
- middleNumber = (start + end) / 2;
- if (middleNumber * middleNumber == num) {
- currentAnswer = middleNumber;
- break;
- }
- if (middleNumber * middleNumber < num) {
- start = middleNumber + 1;
- currentAnswer = middleNumber;
- } else {
- end = middleNumber - 1;
- }
- }
- float increment = (float) 0.1;
- for (int i = 0; i < 4; i++) {
- while (currentAnswer * currentAnswer <= num) {
- currentAnswer += increment;
- }
- currentAnswer = currentAnswer - increment;
- increment = increment / 10;
- }
- return (float) currentAnswer;
- }
- }
Add Comment
Please, Sign In to add comment