Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Йуный плагиат-падаван)
176 / 119 / 45
Регистрация: 17.10.2022
Сообщений: 566

Представление в виде суммы

06.11.2022, 08:22. Показов 824. Ответов 8

Студворк — интернет-сервис помощи студентам
Представление в виде суммы
Дано натуральное число n. Найдите все тройки натуральных чисел x⩽y⩽z таких, что n={x}^{2} + {y}^{2} + {z}^{2}
Формат входных данных
В первой строке содержится целое число n (1⩽n⩽106).

Формат результата
Выведите все тройки x,y,z в лексикографическом порядке.

Вот единственный код:
Python
1
2
3
4
5
6
7
8
9
10
11
n = int(input())
lim = int(n**0.5) + 1
flt = []
for x in range(1, lim):
    for y in range(1, lim):
        for z in range(1, lim):
            if n == x**2 + y**2 + z**2 and x not in flt and y not in flt and z not in flt:
                print(x, y, z)
                flt.append(x)
                flt.append(y)
                flt.append(z)
Без формата пеп8, что бы было понятно
Происходит ошибка на тесте с числом 54
Ввод: 54
Вывод программы: 1 2 7
3 3 6
Правильный вывод:
1 2 7
2 5 5
3 3 6
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.11.2022, 08:22
Ответы с готовыми решениями:

Задача "Представление в виде суммы"
Дано натуральное число n. Найдите все тройки натуральных чисел x⩽y⩽z таких, что n=x2+y2+z2. Формат входных данных В первой строке...

Представление изображения в виде массива NumPy
Здравствуйте стоит следующая задача, необходимо представить изображение в виде двумерного массива, в каждой ячейке которого хранятся данные...

Представление списка строк в виде, понятном интерпретатору Питона
Напишите программу — помощник начинающего программиста на Питоне, которая представляет список строк в виде, понятном интерпретатору Питона....

8
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
06.11.2022, 08:35
Не вдаваясь в алгоритм (явно неоптимальный). Просто исправить.
Python
1
2
3
4
5
6
7
8
n = 54
lim = int(n**0.5) + 1
flt = []
for x in range(1, lim):
    for y in range(x, lim):
        for z in range(y, lim):
            if n == x**2 + y**2 + z**2 :
                print(x, y, z)
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38192 / 21125 / 4309
Регистрация: 12.02.2012
Сообщений: 34,732
Записей в блоге: 14
06.11.2022, 08:44
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
n = int(input())
lim = int(n**0.5) + 1
squares=[(i*i,i) for i in range(1,lim+1)]
sz=len(squares)
res=[]
for i in range(sz):
    for j in range(i,sz):
        for k in range(j,sz):
            (a,ai)=squares[i]
            (b,bj)=squares[j]
            (c,ck)=squares[k]
            if a+b+c==n:
                res.append((ai,bj,ck))
print(res)
0
Йуный плагиат-падаван)
176 / 119 / 45
Регистрация: 17.10.2022
Сообщений: 566
06.11.2022, 09:00  [ТС]
Catstail, У вас вывод в скобках и через запятую
Red white socks, Код работает неправильно
Входные данные: размер 3 ---
27

--- Результат работы: размер 18 ---
1 2 7
2 5 5
3 3 6

--- Правильный ответ: размер 12 ---
1 1 5
3 3 3
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38192 / 21125 / 4309
Регистрация: 12.02.2012
Сообщений: 34,732
Записей в блоге: 14
06.11.2022, 09:01
Цитата Сообщение от DOPIXKMNLD Посмотреть сообщение
Catstail, У вас вывод в скобках и через запятую
- а тебе, что, готовое решение дать? Я тебе код ускорил? Ускорил. Ошибку исправил? Исправил. Дальше думай сам.
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
06.11.2022, 09:32
Цитата Сообщение от DOPIXKMNLD Посмотреть сообщение
Red white socks, Код работает неправильно
Входные данные: размер 3 ---
27
--- Результат работы: размер 18 ---
1 2 7
2 5 5
3 3 6
--- Правильный ответ: размер 12 ---
1 1 5
3 3 3
DOPIXKMNLD, прикидываешься или как??? n=54 в первой строчке кода видишь?
0
Йуный плагиат-падаван)
176 / 119 / 45
Регистрация: 17.10.2022
Сообщений: 566
06.11.2022, 10:59  [ТС]
Red white socks, извини, контр S не нажал. Но все равно, твоя программа тоже не настолько быстрая
Не проходит тест 377906
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
06.11.2022, 11:18
Лучший ответ Сообщение было отмечено DOPIXKMNLD как решение

Решение

Цитата Сообщение от DOPIXKMNLD Посмотреть сообщение
твоя программа тоже не настолько быстрая
А такой задачи не стояло) Я же написал, что просто ошибку исправил.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
n = 10**6
square_roots = {}
i=1
while i*i <= n:
    square_roots[i*i] = i
    i += 1
x = 1
while x * x <= n//3:
    y = x
    while y * y <= (n - x*x)//2:
        if (z:=square_roots.get(n-x*x-y*y)):
                print(x, y, z)
        y += 1
    x += 1
2
Йуный плагиат-падаван)
176 / 119 / 45
Регистрация: 17.10.2022
Сообщений: 566
06.11.2022, 12:00  [ТС]
Red white socks, я моржа заменил, все получилось, спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.11.2022, 12:00
Помогаю со студенческими работами здесь

Представление числа в виде суммы
На вход дан список, который состоит из натуральных чисел. Также на вход поступает некоторое число k. Программа должна определить, можно ли...

Представление нечетного числа в виде суммы трех простых чисел
очень нужна помощь , нужно Написать программу представления нечетного числа в виде суммы трех простых чисел. я написал функцию для...

Представление числа в виде сумм из списка
Имеется число 10 и список . Найти все наборы

Расчет определенного интеграла и представление в виде графика
Здравствуйте.Имею определенный интеграл и надо рассчитать с помощью символической математике корневую функцию от 4 до 5. Не могу...

Представление числа в виде суммы 3 и 5
Известно что любое целое положительное число, которое больше 7, можно представить суммой троек и пятерок (37=4*3 + 5*5). Произвольную...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru