Перейти к содержимому
Обложка сообщества Разное

Даны два последовательных четных (или нечетных) натуральных числа.

Даны два последовательных четных (или нечетных) натуральных числа.

Необходимо их перемножить, прибавить единицу и извлечь квадратный корень. Если результат не будет целым числом, то следует округлить его до ближайшего целого по стандартным правилам.

Входные данные

Входной файл INPUT.TXT содержит два последовательных четных (или нечетных) натуральных числа, разделенных пробелом. Каждое число содержит не более 1000 разрядов.

Выходные данные

В выходной файл OUTPUT.TXT выведите ответ на задачу.

import java.io.*;
import java.math.BigInteger;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
PrintWriter out = new PrintWriter(System.out);
BigInteger a = in.nextBigInteger();
BigInteger b = in.nextBigInteger();
BigInteger z;
z = (a.multiply(b)).add(new BigInteger("1"));
Main m = new Main();
out.println(m.sqrt(z));
out.flush();
}
final BigInteger TWO = new BigInteger("2");
public BigInteger sqrt(BigInteger N) {
BigInteger result = N.divide(TWO);
while (result.multiply(result).subtract(N).compareTo(BigInteger.ONE.divide(new BigInteger("100000000"))) > 0)
result = result.add(N.divide(result)).divide(TWO);
return result;
}
}
0
0
716

Еще по теме