|
168 / 8 / 1
Регистрация: 15.11.2018
Сообщений: 256
|
||||||
Представить число N в виде суммы натуральных чисел, являющихся полными квадратами08.10.2019, 14:54. Показов 6544. Ответов 18
Метки нет (Все метки)
Я вывожу минимальное количество квадратов, сумма которых равна N. А как вывести сами эти квадраты?
0
|
||||||
| 08.10.2019, 14:54 | |
|
Ответы с готовыми решениями:
18
Сколькими способами заданное натуральное число N можно представить в виде суммы двух кубов натуральных чисел? Представить число в виде суммы натуральных чисел
|
|
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
|
|||||||||||
| 09.10.2019, 02:44 | |||||||||||
Сообщение было отмечено alexfandr как решение
Решение
alexfandr, в вашей реализации время выполнения программы увеличивается в геометрической прогрессии в зависимости от величины передаваемого числа в метод. Передав число 100, я так и не смогла дождаться результата.
Я написала свой вариант без рекурсии, который считает очень быстро. Там два метода, выполняющие примерно одно и то же, но один возвращает коллекцию квадратов, а второй строку разложения числа на квадраты. Какой больше понравится Вот: Кликните здесь для просмотра всего текста
2
|
|||||||||||
|
168 / 8 / 1
Регистрация: 15.11.2018
Сообщений: 256
|
|
| 09.10.2019, 15:02 [ТС] | |
|
alicesmagic, классно, спасибо) Мы еще интерфейсы и коллекции по java не проходили, но вроде я разобрался. Чем то похоже на списки и контейнеры из с++
1
|
|
|
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
|
|
| 09.10.2019, 19:27 | |
|
alicesmagic, Мне понравилась идея начинать с больших и постепенно "спускаться" к разнице.
Я бы еще усовершенствовал метод получения тех самых квадратов. Что если число будет еще больше, генерить список из десятков тысяч элементов? 3162 можно получить взяв (int) корень из 10млн.
1
|
|
|
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
|
|||||||
| 10.10.2019, 00:42 | |||||||
![]()
alexfandr, рада, что смогла помочь)) Но вот видите, как оказалось решается это намного проще
0
|
|||||||
|
2739 / 2048 / 507
Регистрация: 17.02.2014
Сообщений: 9,467
|
||||||
| 10.10.2019, 12:46 | ||||||
Сообщение было отмечено alexfandr как решение
Решение
alexfandr, идея у тебя была такая?
133 = 11*11 + 3*3 + 1*1 + 1*1 + 1*1 + 0
1
|
||||||
|
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
|
|
| 10.10.2019, 13:06 | |
|
Aviz__, ну, как вариант)) Только не люблю я рекурсию, хоть вот убей)
0
|
|
|
2739 / 2048 / 507
Регистрация: 17.02.2014
Сообщений: 9,467
|
||
| 10.10.2019, 13:15 | ||
|
0
|
||
|
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
|
|
| 10.10.2019, 13:21 | |
|
0
|
|
|
2739 / 2048 / 507
Регистрация: 17.02.2014
Сообщений: 9,467
|
|
| 10.10.2019, 14:00 | |
|
0
|
|
|
168 / 8 / 1
Регистрация: 15.11.2018
Сообщений: 256
|
|
| 10.10.2019, 15:32 [ТС] | |
|
Aviz__, тоже спасибо) код выглядит компактнее
0
|
|
|
168 / 8 / 1
Регистрация: 15.11.2018
Сообщений: 256
|
|
| 11.10.2019, 11:43 [ТС] | |
|
alicesmagic, можете проверить пожалуйста, какой вывод выдает ваша программа при вводе 32. Просто вариант который предложил Aviz__, с рекурсией выдает не самое минимальное количество квадратов (их должно быть всего 2 [16 + 16] )
Я думаю надо перебирать все возможные разложения числа и выдавать минимальный
1
|
|
|
2739 / 2048 / 507
Регистрация: 17.02.2014
Сообщений: 9,467
|
||||||
| 11.10.2019, 16:15 | ||||||
|
alexfandr, вот, доделай
Кликните здесь для просмотра всего текста
103 = 1 * 10^2 + 3 единиц 104 = 1 * 10^2 + 4 единиц // тут косит(( 32 = 2 * 4^2 + 0 единиц 33 = 2 * 4^2 + 1 единиц
1
|
||||||
|
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
|
|||||||||||
| 12.10.2019, 04:51 | |||||||||||
|
alexfandr, да, действительно, у меня тоже этот косяк. Программа выдает верную, но не самую оптимальную раскладку на квадраты. Спасибо, что заметили и сказали. Попробую решить по другому. Хотя Авиз уже решил, но мне тоже хочется поломать голову)
Добавлено через 3 часа 57 минут Блин. Задачка оказалась куда сложнее, чем казалась на первый взгляд ![]() В процессе проб и ошибок пока только одни ошибки) Aviz__, решила посмотреть как ты решил проблему, но тоже увидела косяки. Попробуй разложить у себя 95, например Добавлено через 1 час 13 минут Не зря ломала голову))) Все-таки получилось! Кликните здесь для просмотра всего текста
0
|
|||||||||||
|
33 / 25 / 11
Регистрация: 11.10.2019
Сообщений: 162
|
|||||||||||
| 12.10.2019, 12:10 | |||||||||||
|
alexfandr, минуточку
Добавлено через 5 минут
или еще короче
0
|
|||||||||||
|
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
|
|
| 12.10.2019, 13:10 | |
|
Hamster83, надо бы доработать код)) Не до конца раскладываются числа:
printNumberSquares(31) -> 31 = 5 * 5 + 6А сотня так и вообще разложилась так: 100 = 6 * 6 + 8 * 8. Хотя по условию нужно минимум квадратов: 100 = 10 * 10
0
|
|
|
33 / 25 / 11
Регистрация: 11.10.2019
Сообщений: 162
|
|||
| 12.10.2019, 13:27 | |||
|
alicesmagic,
Я в условии задачи не видел что надо найти максимальное количество квадратов натуральных чисел ))
Как по мне, если число нельзя представить суммой квадратов двух натуральных чисел - надо бросать исключение. Ведь в итоге можно дораскладываться до того, что число будет представлено как-то так: 1*1 + 1*1 + 1*1 ...
0
|
|||
|
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
|
||||
| 12.10.2019, 15:04 | ||||
31 = 5 * 5 + 6 : Какое же здесь представление через сумму квадратов? 6 тоже нужно раскладывать. В вашем формате представления должно быть так: 31 = 5 * 5 + 2 * 2 + 1 * 1 + 1 * 1
0
|
||||
| 12.10.2019, 15:04 | |
|
Помогаю со студенческими работами здесь
19
Можно ли представить число в виде суммы двух квадратов натуральных чисел. Можно ли представить число в виде суммы квадратов трех натуральных чисел
Натуральное число m представить в виде суммы квадратов двух натуральных чисел
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|