|
1 / 1 / 0
Регистрация: 06.09.2020
Сообщений: 34
|
||||||
Решение задачи16.06.2021, 21:16. Показов 2474. Ответов 13
Метки нет (Все метки)
Дан массив или лист, его длина кратна 4 и число P высчитывается так {(arr[i]^2 + arr[i+1]^2)*((arr[i+2]^2+arr[i+3]^2)*...}
Нужно найти такие числа A и B, чтобы A^2 + B^2 = P, при этом A и B целые положительные числа не равные 0. Нельзя использовать перебор, как это сделал я =( так как при очень больших числах, например как то, что представлено в моем коде ниже, программа чуть ли не зависает. Например с примером {2, 1, 3, 4} программа справляется легко, как и с примерами по сложнее, но когда число слишком большое, то время на перебор уходит очень много. Нужно обойтись без перебора.
0
|
||||||
| 16.06.2021, 21:16 | |
|
Ответы с готовыми решениями:
13
Решение задачи. Требуется мнение гуру
Решение задачи на java |
|
|
|
| 17.06.2021, 04:18 | |
|
Повтори еще десять раз, что перебор нежелателен...
Ты P неправильно рассчитываешь. Вообще еще куча теорем по этому поводу есть... Как пример: https://en.wikipedia.org/wiki/... es_theorem Как я вижу, проще всего просто подобрать число A или B, а потом по этому числу найти оставшееся. Ну или постепенно вычитать нечетные числа из P, пока оно не станет квадратом. А числа, которые вычитались сами образуют квадрат... Т.к. любой квадрат в своей сущности лишь сумма нечетных чисел... 1 = 1 1 + 3 = 4 1 + 3 + 5 = 9 И т.д.
0
|
|
|
1 / 1 / 0
Регистрация: 06.09.2020
Сообщений: 34
|
|
| 17.06.2021, 10:33 [ТС] | |
|
Число P я считаю вполне себе верно, для этой задачи было несколько тестов, которые я прошел. Число P высчитывалось верно. В остальном спасибо, поработаю с полученной информацией
0
|
|
|
|
||
| 17.06.2021, 11:06 | ||
|
Добавлено через 1 минуту По хорошему здесь хватит multiply(BigInteger)
0
|
||
|
1 / 1 / 0
Регистрация: 06.09.2020
Сообщений: 34
|
||||||
| 17.06.2021, 12:04 [ТС] | ||||||
|
А, вы про это. Здесь вы правы, это я заметил и исправил =)
Добавлено через 35 минут Получился вот такой код, он вроде исправно работает, проходит довольно экстренные тесты, на codewars все тесты проходит, кроме итогового. Выводит непонятную ошибку, как я полагаю проблема где-то в моем коде, есть в нем видимо сильный недостаток, надеюсь вы его увидите ![]()
0
|
||||||
|
|
|||
| 17.06.2021, 12:26 | |||
|
Смотрю в BigInteger не завезли sqrt, поэтому или попробуй его реализовать сам: https://habr.com/ru/post/469561/ Ну или поищи готовые рабочие реализации.
0
|
|||
|
1 / 1 / 0
Регистрация: 06.09.2020
Сообщений: 34
|
||||||
| 17.06.2021, 13:07 [ТС] | ||||||
|
В BigInteger в последних версиях есть sqrt -- не сразу заметил. Постарался сделать так, чтобы ничего не урезалось, но к сожалению число <1418415758805549309928181280000000000 > программа не может представить в виде суммы двух квадратов, цикл уходит в бесконечное плаванье =(
0
|
||||||
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 17.06.2021, 13:29 | |
Сообщение было отмечено korvin_ как решение
Решение
...
0
|
|
|
1 / 1 / 0
Регистрация: 06.09.2020
Сообщений: 34
|
||
| 17.06.2021, 14:03 [ТС] | ||
|
Про какие именно константы речь? Я немного не догнал. А с потерями, я не знаю как задать условие без парсинга biginteger. Он не позволяет использовать операторы сравнения к biginteger
Добавлено через 1 минуту
0
|
||
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 17.06.2021, 14:25 | |
|
считай в BigInteger, не надо туда сюда переводить
0
|
|
|
|
||||||
| 17.06.2021, 15:02 | ||||||
|
1
|
||||||
|
1 / 1 / 0
Регистрация: 06.09.2020
Сообщений: 34
|
||||||
| 17.06.2021, 15:36 [ТС] | ||||||
|
Теперь мой код выглядит так, но к сожалению вышеописанное число всё ещё не может быть представлено в виде суммы двух квадратов
![]()
0
|
||||||
|
|
||
| 17.06.2021, 23:13 | ||
|
Ну а если потерял, то почитай вот это: http://www.mathnet.ru/links/02... /mp195.pdf Добавлено через 4 минуты Почему эта ссылка ip-ник мой палит... Меня же теперь взломают...( М-да.
0
|
||
| 17.06.2021, 23:13 | |
|
Помогаю со студенческими работами здесь
14
Решение олимпиадной задачи Решение задачи с массивом Наведите на решение задачи
Нужно решение задачи Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|