|
0 / 0 / 0
Регистрация: 04.07.2018
Сообщений: 21
|
|
Разработать функцию, определяющую, является ли натуральное число квадратом какого-либо другого целого числа21.08.2018, 21:01. Показов 8679. Ответов 12
Метки нет (Все метки)
Разработать функцию, определяющую, является ли натуральное число квадратом какого-либо другого целого числа. Не использовать стандартную функцию вычисления корня.
Помогите пожалуйста, как можно это осуществить?
0
|
|
| 21.08.2018, 21:01 | |
|
Ответы с готовыми решениями:
12
Алгоритм определения является ли натуральное число степенью какого-либо натурального числа Описать функцию проверяющую является ли число квадратом некоторого целого числа
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|||||||||||
| 22.08.2018, 07:14 | |||||||||||
Сообщение было отмечено Tr4um как решение
Решение
![]() Добавлено через 2 минуты Пардон. Это Си, а не плюсы
1
|
|||||||||||
|
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,312
|
||||||
| 22.08.2018, 08:25 | ||||||
Сообщение было отмечено Байт как решение
Решение
Tr4um,
3
|
||||||
|
26 / 23 / 12
Регистрация: 25.06.2018
Сообщений: 91
|
||||||
| 22.08.2018, 16:51 | ||||||
|
я бы вначале проверил на 0 и 1, так как это решение. Затем удалил бы четность с проверкой деления на 4, так как 4 это 2 * 2. То есть если чсло делится на 2 и не делится на 4, то оно уже не может иметь решения в целых числах. А затем бы проверял нечетные числа, но до n / 3. Функция возвращает отрицательный результат, если корень не найден.
2
|
||||||
|
20 / 15 / 5
Регистрация: 28.08.2018
Сообщений: 18
|
||||||
| 28.08.2018, 21:27 | ||||||
3
|
||||||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|
| 28.08.2018, 22:42 | |
|
z1ne2wo, не могли бы вы "на пальцах" пояснить идею вашего алгоритма?
Добавлено через 35 минут Тестирование "в разброс" ошибок не обнаружило. Но сама структура алгоритма вызывает сомнения. ![]() Возможно, он работает только для чисел типа unsigned int ? И не является ли он "школьным" вычислением корня "в столбик", только в двоичной с/с ?
1
|
|
|
20 / 15 / 5
Регистрация: 28.08.2018
Сообщений: 18
|
|||
| 29.08.2018, 00:59 | |||
|
Вначале находим наибольший единичный бит h такого числа s = h | x1 | x2 | ... | xn (h > x1 > x2 > ... > xn), что v - s*s -> min (>= 0).
Пример:
Продолжение:
1
|
|||
|
Вездепух
12919 / 6787 / 1817
Регистрация: 18.10.2014
Сообщений: 17,173
|
|||||||
| 29.08.2018, 04:43 | |||||||
|
Например, в десятичной записи: если нам дано число 73496329, то первым делом мы определим, что 9000 в качестве корня - это слишком много, а 8000 - мало. То есть начинаем с 8000.Далее подбираем следующий разряд и находим, что 8600 - слишком много, а 8500 - мало.Далее подбираем следующий разряд и находим, что 8580 - слишком много, а 8570 - мало.Далее подбираем следующий разряд и находим, что 8574 - слишком много, а 8573 - точно.При расчетах в десятичной системе подбирать разряд можно методом половинного деления, а при расчетах в двоичной системе никакого половинного деления не нужно - просто проверяй каждый разряд на предмет превышения и все. Именно это и реализовано в алгоритме z1ne2wo. Добавлено через 2 часа 13 минут --- Разумеется никто вам не запрещает реализовать метод Ньютона для вычисления корня и просто воспользоваться им
1
|
|||||||
|
|
||||||
| 29.08.2018, 07:06 | ||||||
|
развивая тему половинного деления
0
|
||||||
|
Модератор
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
|
|
| 29.08.2018, 16:33 | |
|
0
|
|
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
|
||||||
| 31.08.2018, 20:32 | ||||||
|
вспомнил как давным давно считал корни на калькуляторе
брал примерный корень делил число на него потом средне арифметическое опять делил пока числа не были похожи по мотивам этого накидал програмку
аргумент i это итерации к примеру число 10000001 за 16 итераций определяет у него нет целочисленных корней
0
|
||||||
|
Вездепух
12919 / 6787 / 1817
Регистрация: 18.10.2014
Сообщений: 17,173
|
||
| 02.09.2018, 20:49 | ||
|
0
|
||
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
|
||
| 02.09.2018, 20:52 | ||
но я его сам придумал, тому назад много лет, когда на калькуляторах было только "+" "-" "%" и "*"
0
|
||
| 02.09.2018, 20:52 | |
|
Помогаю со студенческими работами здесь
13
Вычислить произведение P двух целых чисел x и y,если сумма их квадратов является квадратом другого целого числа
Определить, является ли введённое с клавиатуры число квадратом целого числа При каких n принадлежащих N, число n^2+3n+2 является квадратом целого числа Как проверить является данное число квадратом целого числа? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|