![]() |
Корень квадратный
Ребята, как на С++ за 2 секунды можно найти корень квадратный из 10^3000?
|
pow(pow(10,3000),0.5)
|
Math.Sqrt(10e30);
|
Цитата:
и даже если указать выводит 1.#INF, pow(10,3000) не влазит даже в long double, надо использовать класс SuperLong |
Любую степень корня вычисляем по схеме ( напримр: кубический корень из 6) = 6^(1/3) = 1.8171...
Квадратный - 6^(1/2) Короче, под это подходит любая степень корня. А цифры в уравнение подставит и Буратинко, деревянный человечек :) Надеюсь понятно выразился :) |
Это понятно. Стоит задача такого плана:
Условие: Для заданного натурального числа А нужно найти наибольшее число В такое, что B2 ≤ A. Входящие данные: Во входящем файле записано натуральное число A (A ≤ 103000). Исходящие данные: В исходящий файл выведите максимальное натуральное число B, квадрат которого не превышает A. Число B следует выводить без лидирующих нулей. А идея была такой: имеем мы например число 385. Делим его пополам (без остачи), получаем 192. 1922 > 385. Делим, 192/2 = 96, 962 > 385. Делим 96/2 и так дальше. |
Т.е. у вас есть 2 числа А и В. И нужно зная число А вывести число В, квадрат которого равен (или почти равен т.к. В должно быть натуральным) числу А.
А почему бы просто не взять корень из числа А каким бы оно ни было и просто отбросить дробную часть. Получим число В. Или я что-то недопонимаю ??? |
Ну а во что его запихнуть? ни в какой long long не влезет...
|
В C# точно есть тип double думаю в С++ есть тоже.
В любом случае вы можете брать число достаточно большого размера пусть даже в качестве строки. пусть 111111111111111222222222222222 Затем брать половину строки (но не больше 15 чисел) и ставить десятичную точку 111111111111111.222222222222222e15 А дальше отдельно брать корень из степени 10 и корень из самого числа. P.S. Точность double 324 знака до запятой и 15 после запятой. |
Цитата:
cmath (math.h) |
Цитата:
Как же развращают (в хорошем смысле этого слова) языки программирования типа С. Вот помнится на паскале возводили в степень и корни брали через экспоненту и логарифм... а щас... эх... |
Время: 18:22. |
Время: 18:22.
© OSzone.net 2001-