|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Корень квадратный |
|
|
C/C++ - Корень квадратный
|
Пользователь Сообщения: 64 |
Профиль | Отправить PM | Цитировать Ребята, как на С++ за 2 секунды можно найти корень квадратный из 10^3000?
|
|
Отправлено: 17:49, 17-11-2011 |
Misanthrope Сообщения: 474
|
Профиль | Отправить PM | Цитировать pow(pow(10,3000),0.5)
|
------- Отправлено: 17:54, 17-11-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1384
|
Профиль | Отправить PM | Цитировать Math.Sqrt(10e30);
|
------- Отправлено: 23:19, 17-11-2011 | #3 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать Цитата Hector:
и даже если указать выводит 1.#INF, pow(10,3000) не влазит даже в long double, надо использовать класс SuperLong |
|
Последний раз редактировалось ferget, 18-11-2011 в 05:51. Отправлено: 03:02, 18-11-2011 | #4 |
Ветеран Сообщения: 20116
|
Профиль | Отправить PM | Цитировать Любую степень корня вычисляем по схеме ( напримр: кубический корень из 6) = 6^(1/3) = 1.8171...
Квадратный - 6^(1/2) Короче, под это подходит любая степень корня. А цифры в уравнение подставит и Буратинко, деревянный человечек Надеюсь понятно выразился |
|
------- Последний раз редактировалось yurfed, 18-11-2011 в 03:22. Отправлено: 03:15, 18-11-2011 | #5 |
Пользователь Сообщения: 64
|
Профиль | Отправить PM | Цитировать Это понятно. Стоит задача такого плана:
Условие: Для заданного натурального числа А нужно найти наибольшее число В такое, что B2 ≤ A. Входящие данные: Во входящем файле записано натуральное число A (A ≤ 103000). Исходящие данные: В исходящий файл выведите максимальное натуральное число B, квадрат которого не превышает A. Число B следует выводить без лидирующих нулей. А идея была такой: имеем мы например число 385. Делим его пополам (без остачи), получаем 192. 1922 > 385. Делим, 192/2 = 96, 962 > 385. Делим 96/2 и так дальше. |
Отправлено: 16:07, 20-11-2011 | #6 |
Ветеран Сообщения: 1384
|
Профиль | Отправить PM | Цитировать Т.е. у вас есть 2 числа А и В. И нужно зная число А вывести число В, квадрат которого равен (или почти равен т.к. В должно быть натуральным) числу А.
А почему бы просто не взять корень из числа А каким бы оно ни было и просто отбросить дробную часть. Получим число В. Или я что-то недопонимаю ??? |
------- Отправлено: 11:14, 22-11-2011 | #7 |
Пользователь Сообщения: 64
|
Профиль | Отправить PM | Цитировать Ну а во что его запихнуть? ни в какой long long не влезет...
|
Отправлено: 22:32, 22-11-2011 | #8 |
Ветеран Сообщения: 1384
|
Профиль | Отправить PM | Цитировать В C# точно есть тип double думаю в С++ есть тоже.
В любом случае вы можете брать число достаточно большого размера пусть даже в качестве строки. пусть 111111111111111222222222222222 Затем брать половину строки (но не больше 15 чисел) и ставить десятичную точку 111111111111111.222222222222222e15 А дальше отдельно брать корень из степени 10 и корень из самого числа. P.S. Точность double 324 знака до запятой и 15 после запятой. |
------- Отправлено: 12:09, 24-11-2011 | #9 |
Ветеран Сообщения: 20116
|
Профиль | Отправить PM | Цитировать Цитата Tonny_Bennet:
cmath (math.h) |
|
------- Отправлено: 13:25, 24-11-2011 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
DFS не отображает корень. | Flexos | Microsoft Windows NT/2000/2003 | 2 | 15-01-2010 09:22 | |
C/C++ - Как из числа извлеч корень? C++ | XEN_STRANGER | Программирование и базы данных | 10 | 25-03-2009 10:22 | |
Quad или Duo, квадратный или широкоэкранный монитор? | Hattori_Hanzo | Выбор отдельных компонентов компьютера и конфигурации в целом | 13 | 17-09-2008 00:39 | |
Запретить запись в корень папки | Gangabass | Microsoft Windows NT/2000/2003 | 5 | 07-06-2007 08:31 | |
корень сайта | Vampire | Вебмастеру | 12 | 02-02-2004 13:19 |
|