Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 15.01.2018
Сообщений: 48

Счастливые числа

02.03.2022, 17:02. Показов 1208. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать функцию, которые выводят все счастливые числа до заданного n.

Добавлено через 28 минут
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
def happy(n):
    seq = []
    for i in range(1, n+1):
        numb = list(str(i))
        for j in range(len(numb)):
            numb[j] = int(numb[j])
        summ = 0
        for q in numb:
            summ += q**2
        if summ == 1:
            seq.append(i)
    return seq
    
print(happy(10))
Добавлено через 28 секунд
https://ru.wikipedia.org/wiki/... py_number)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.03.2022, 17:02
Ответы с готовыми решениями:

Счастливые числа
Задача B2: Счастливые числа Эта задача с открытыми тестами. Ее решением является набор ответов, а не программа на языке программирования....

Счастливые числа
Задача B2: Счастливые числа Эта задача с открытыми тестами. Ее решением является набор ответов, а не программа на языке программирования....

Вы попали в волшебную страну, где существуют только счастливые числа
Вы попали в волшебную страну, где существуют только счастливые числа, т.е. тех чисел, которые состоят только из цифр 2 и 5. Вы поняли, что...

1
290 / 170 / 92
Регистрация: 21.03.2016
Сообщений: 400
02.03.2022, 21:37
Лучший ответ Сообщение было отмечено Саша Турко как решение

Решение

Рассмотрим твой код,
во первых вот эти строчки можно заменить,
Python
1
2
3
numb = list(str(i))
        for j in range(len(numb)):
            numb[j] = int(numb[j])
Python
1
numb = map(int, list(str(i)))
Далее ты только раз проверяешь сумму квадратов, а надо зациклить проверку полученной суммы, пока она не будет равна 1 или не уйдет в условную бесконечность.
Нужно добавить цикл например for _ in range(1000) - если на 1000 итерации нет в сумме 1, то считатать это число несчастливым.
а если сумма на какой либо итерации стала 1, то выходить из цикла.

примерно набросал так, не сильно меняя твоего кода.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def happy(n):
    seq = []
    for i in range(1, n + 1):
        summ = 0
        numb = map(int, list(str(i)))
        for _ in range(1000):
            summ = 0
            for q in numb:
                summ += q ** 2
            if summ == 1:
                seq.append(i)
                break
            numb = map(int, list(str(summ)))
    return seq
 
 
print(happy(100))
Добавлено через 18 минут
Кстати for _ in range(10): достаточно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.03.2022, 21:37
Помогаю со студенческими работами здесь

Счастливые билеты
Номера билетов на автобус состоят из чётного количества цифр. Счастливым считается билет, у которого сумма значений цифр первой и второй...

Счастливые номера
Счастливые номера В новом здании налоговой инспекции ИТ-града было решено номера всех кабинетов сделать счастливыми. ...

Счастливые билеты
Обычно автобусный билет с номером, состоящим из 6 цифр, считается счастливым, если сумма первых трех цифр его номера равна сумме трех...

Все счастливые билеты
Нужно вывести все счастливые билеты в строчку по возрастанию, счастливый билет это билет у которого первые 3 цифры равны сумме последних...

Получить все шестизначные счастливые номера
Получить все шестизначные счастливые номера Счастливым называются такое шестизначные число в котором сумма его первых трех цифр...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
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. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru