|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.01.2020, 12:41 | #11 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Это обычный итерационный метод - берем первое приближение, делим, получаем два числа, произведение которых равно подкоренному. Второе приближение получается как среднее арифметическое этих чисел. Если надо считать корень большей степени, всё то же самое, но делить надо (n-1) раз:
Код:
|
30.01.2020, 16:05 | #12 |
Пользователь
Регистрация: 18.01.2020
Сообщений: 17
|
Программа опять же таки работает, но выводит количество символов обратно пропорциональное степени корня, то есть вместо 300 знаков при кубическом корне(3), как я понял число триста в случае с квадратным корнем отвечает за количество знаков, программа выведет 100 знаков, причем в квадратном корне количество знаков сохраняется 300, 300. Есть выход написать как-то так (x * 10 ** (300*n), ) с циклом if (тк при квадратном корне количество "символов" сохраняется 300, 300), если корень квадратный, тогда ..n*1 . Кстати время выполнения команды обратно пропорционально степени корня. И в итоге одна команда выполняется около 2х минут в степени 8 и количестве "знаков" 10^4 и символьно короче в те же 8 раз. Я могу спокойно ввести условие if, но прийдется долго ждать, есть ли способ произвести вычисления быстрее или хотя бы без уменьшения количества выводимых символов?
Кстати, может возможно выводить по 100 знаков, а потом начинать вычисления с той же цифры? То есть вычисление блоками Последний раз редактировалось DoctorDeathDDrac; 31.01.2020 в 08:04. |
01.02.2020, 09:30 | #13 | |
Пользователь
Регистрация: 18.01.2020
Сообщений: 17
|
Цитата:
|
|
01.02.2020, 23:53 | #14 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
|
03.02.2020, 21:41 | #15 |
Пользователь
Регистрация: 18.01.2020
Сообщений: 17
|
Как делать приближение, хотя бы математически?
|
03.02.2020, 22:04 | #16 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Сейчас первое приближение вычисляется в первой строке процедуры, как x // n
Если передавать его через параметр, можно использовать результат предыдущего шага Примерно так: Код:
|
03.02.2020, 22:24 | #17 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Если автоматизировать процесс, то примерно так:
Код:
Зачем Вам такая точность? Последний раз редактировалось Black Fregat; 03.02.2020 в 22:41. |
04.02.2020, 16:29 | #18 |
Пользователь
Регистрация: 18.01.2020
Сообщений: 17
|
А что последняя программа должна получать на вход чтобы запустить цикл?
Типо такого rootM(2*10**300, 3, 100)? 3 - это степень 300 - это количество символов а 100 это количество циклов Я всё правильно понял? Да, и за что отвечает step ? Последний раз редактировалось DoctorDeathDDrac; 04.02.2020 в 21:09. |
04.02.2020, 21:36 | #19 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Код:
step - это как раз степень доумножения, то есть сколько цифр будет вычисляться нв каждом шаге 1000 шагов по 100 - 100 000 цифр |
04.02.2020, 21:45 | #20 |
Пользователь
Регистрация: 18.01.2020
Сообщений: 17
|
Кстати мне для ускорения предложили использовать какую-то фичу с @jid(nopython=True), это работает?
Да и насчет числа 10 ** >>300<< оно вообще играет роль? Просто как бы я его не менял количество символов не меняется Последний раз редактировалось DoctorDeathDDrac; 04.02.2020 в 22:00. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[Python] Дано натуральное число n. Найти все числа меньшие Мр числа Мерсенна. | Джина Ким | Помощь студентам | 0 | 18.05.2018 18:39 |
Delphi. Цикл While. Вывести целые числа от А до В, А вывести 1 раз, число А+1 вывести 2 раза и т.д. | schibeki | Помощь студентам | 4 | 07.02.2014 09:17 |
Множества: Даны целые числа а1,.....,Аn. Вывести на печать сообщение - имеется ли в последовательности х повторяющиеся числа | lialia | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 24.12.2012 21:11 |
Вывести числа, из диапазона от n до m у которых, количество единичных разрядов в двоичном представлении числа нечетно | sheff123 | Помощь студентам | 8 | 05.01.2012 15:35 |
Как числа в двоичном виде вывести в столбик по 4 числа? | Equalizer | Общие вопросы C/C++ | 11 | 27.09.2009 14:15 |