Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Можно ли найти последующий квадрат числа, зная только сам квадрат и не зная ни корня числа, ни его предыдущего квадрата?

Cyber_Bes Знаток (482), закрыт 6 лет назад
К примеру у нас есть число 16, можно ли найти число 25, не зная что корень из 16 = 4, а предыдущий квадрат - 9?
Лучший ответ
Аглая Шниц Искусственный Интеллект (147788) 6 лет назад
ну, выражения x1 = (n-1)^2 и x2 = (n+1)^2 являются решениями квадратного уравнения:
x^2 - ax + b = 0
где a = 2(n^2+1), b = (n^2-1)^2
решение этого квадратного уравнения может быть записано в виде цепной дроби:
x = a - b/x
откуда получается простой алгоритм: насчитываем коэффициенты, затем итерационным процессом ищем искомое значение.

например, пусть нам известно n^2 = 9
коэффициенты уравнения:
a = 20, b = 64
итерационный процесс:
x_0 = a/2+1 = 11.0
x_1 = a - b/x_0 = 14.1818181818
x_2 = a - b/x_1 = 15.4871794872
x_3 = a - b/x_2 = 15.8675496689
x_4 = a - b/x_3 = 15.9666110184
x_5 = a - b/x_4 = 15.991635299
x_6 = a - b/x_5 = 15.9979077309
видим, что процесс сходится к 16, значит, (n+1)^2 = 16

тут, правда, надо отметить, что этот итерационный процесс - не самый шустрый. но можно использовать, скажем, метод Ньютона - он тоже не требует вычисления корней, и достаточно быстро сходится.
Cyber_BesЗнаток (482) 6 лет назад
Это пока самый лучший вариант который я видел, но остался один вопрос, как мы поймём, что мы дошли именно до следующего квадрата?
Cyber_BesЗнаток (482) 6 лет назад
Спасибо я разобрался, можете не отвечать на мой предыдущий комментарий, вы заслуживаете лучшего ответа.
Определённо
Спасибо вам большое)
Остальные ответы
Дмитрий Михайлов Гуру (4424) 6 лет назад
бред какой-то, квадрат числа это операция над числом, а результат равен какому-то другому числу, именно равен, а не есть то число
Cyber_BesЗнаток (482) 6 лет назад
почему же сразу бред, просто существует определённые зависимости между последующими квадратами. К примеру зная корень числа (4), последующий квадрат можно обнаружить так 4*4+(4*2)+1=25, а зная предыдущий квадрат (9) так 16-9+16+2=25
Дмитрий Михайлов Гуру (4424) а нужно ли это все?
Виктор Адаменя Искусственный Интеллект (142760) 6 лет назад
да конечно
если у нас есть таблица квадратов
и мы не зная просто посмотрим ближнее число
как примеру если 9 меньше 16 значит не оно а если 25 то оно больше 16 значит следующее
Cyber_BesЗнаток (482) 6 лет назад
это разумно, но нужно не используя таблицу квадратов.
Виктор Адаменя Искусственный Интеллект (142760) x^1/2=е^(1/2*lnx) y=(x+1)*(x+1) причем e^x можно через ряд тейлора посчитать и lnx
Рустам Искендеров Искусственный Интеллект (141052) 6 лет назад
Мы "не знаем", что 196 есть квадрат 14, но можем установить это, делением 196 последовательно, скажем, на 11, 12, ..(если речь о натуральных числах). А далее, как вы сами уже написали: 196+2*14+1= 225. Другого способа не знаю. Разве что применение разложения в ряд, о чём пишет Адаменя. Только жаль, что он лишь пишет об этом, но не развивает это до решения какого-либо простейшего примера.
Cyber_BesЗнаток (482) 6 лет назад
то есть вы предлагаете найти корень методом подбора
это было бы актуально, но видите ли, я нашёл сам или использую что-то кем то открытое ранее и мне неизвестное, новый способ нахождения квадратного корня, и для этого необходимо найти следующий квадрат. И согласитесь неразумно находить корень числа методом подбора, чтобы потом найти следующий квадрат и использовать его для нахождения этого же корня.
Рустам Искендеров Искусственный Интеллект (141052) Почему неразумно? Пусть нам известно, что 21609 есть квадрат некоторого числа. Я знаю, что корень этого числа: трёхзначное; больше 100 и меньше 150; заканчивается на 3 или 7; делится на 3. Чисел, удовлетворяющих этим условиям, оказывается всего три: 117, 123 и 147. Трудно ли их возвести последовательно в квадрат и установить, что корнем является 147? Следующий квадрат находится или возведением в квадрат 148, или расчётом по формуле 21609+2*147+1.
Похожие вопросы