0 / 0 / 0
Регистрация: 01.07.2025
Сообщений: 23

На какие цифры четырёхзначного числа делится его сумма цифр?

25.07.2025, 09:49. Показов 2949. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите программу, которая определит, на какие цифры четырёхзначного числа делится его сумма цифр?

Формат ввода
Вводится четырёхзначное число, состоящее из различных цифр и в котором нет нулей.

Формат вывода
Выведите строки:
Сумма цифр <число> делится на <цифра>

(Если оно делится на цифру этого числа в порядке слева направо.)

Если сумма цифр не делится ни на одну из своих цифр, выведите строку:
Сумма цифр <число> не делится на свои цифры.

Пример 1
Ввод
8342

Вывод
Сумма цифр 8342 не делится на свои цифры.

Пример 2
Ввод
6132

Вывод
Сумма цифр 6132 делится на 6
Сумма цифр 6132 делится на 1
Сумма цифр 6132 делится на 3
Сумма цифр 6132 делится на 2

Примечания
Внимание! В этой задаче проверяется PEP8!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.07.2025, 09:49
Ответы с готовыми решениями:

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

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

Сумма цифр трехзначного числа кратна 7, само число также делится на 7. Найдите все такие числа
Сумма цифр трехзначного числа кратна 7, само число также делится на 7. Найдите все такие числа ...

14
Вирусоборец
 Аватар для thyrex
14444 / 7486 / 1579
Регистрация: 06.09.2009
Сообщений: 27,129
25.07.2025, 10:21
Лучший ответ Сообщение было отмечено Anuta_2804 как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
n = int(input())
a = n//1000
b = n//100%10
c = n%100//10
d = n%10
s = a + b + c + d
flag = False
if s%a == 0:
    print(f'Сумма цифр {n} делится на {a}')
    flag = True
if s%b == 0:
    print(f'Сумма цифр {n} делится на {b}')
    flag = True
if s%c == 0:
    print(f'Сумма цифр {n} делится на {c}')
    flag = True
if s%d == 0:
    print(f'Сумма цифр {n} делится на {d}')
    flag = True
if not flag:
    print(f'Сумма цифр {n} не делится на свои цифры')
Ну а причесать код так, чтобы он соответствовал PEP8, Вам придется сделать самостоятельно Уж извините, что-то Вы должны сделать и сами, а не просить решения таких элементарных заданий, проходя некий курс.
2
231 / 172 / 71
Регистрация: 14.06.2024
Сообщений: 466
25.07.2025, 10:40
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
num = int(input('n='))
#num = 8342
sum_digits = sum(map(int,list(str(num))))
set_digits = set()
flag_print = False
for char_digit in str(num):
    int_digit = int(char_digit)
    if not int_digit in set_digits:
        set_digits.add(int_digit)
        if int_digit and sum_digits % int_digit == 0:
            print(f'Сумма цифр {num} делится на {int_digit}')
            flag_print = True
if not flag_print:
    print(f'Сумма цифр {num} не делится на свои цифры.')
1
Вирусоборец
 Аватар для thyrex
14444 / 7486 / 1579
Регистрация: 06.09.2009
Сообщений: 27,129
25.07.2025, 14:45
udmurt2024, туда-сюда гонять преобразование из строки в число и наоборот это неправильно

Цитата Сообщение от udmurt2024 Посмотреть сообщение
if int_digit
в условии сказано, что нулевых цифр нет
1
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6180 / 2875 / 1042
Регистрация: 01.06.2021
Сообщений: 10,540
25.07.2025, 15:01
Для 3 и 9 не нужно вычислять сумму, можно просто проверить, делится ли число на 3 или 9. Если да, то и сумма цифр будет делиться.
Хотя, толку от этого мало
0
Эксперт Pascal/Delphi
 Аватар для droider
4887 / 2821 / 865
Регистрация: 04.10.2012
Сообщений: 10,261
27.07.2025, 18:15
Anuta_2804,

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
def main():
    # Ввод четырёхзначного числа
    number = input().strip()
 
    # Преобразуем в целое число и получаем цифры
    num = int(number)
    digits = [int(d) for d in number]
 
    # Вычисляем сумму цифр
    digit_sum = sum(digits)
 
    # Проверяем, на какие цифры делится сумма
    divisible_digits = []
    for digit in digits:
        if digit_sum % digit == 0:
            divisible_digits.append(digit)
 
    # Вывод результата
    if divisible_digits:
        for digit in digits:
            if digit_sum % digit == 0:
                print(f"Сумма цифр {num} делится на {digit}")
    else:
        print(f"Сумма цифр {num} не делится на свои цифры.")
 
 
if __name__ == "__main__":
    main()
1
111 / 106 / 18
Регистрация: 05.08.2021
Сообщений: 488
28.07.2025, 13:22
Мой вариант. Даже с нулями расправится... Хотя почти такой же уже был выше
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
n = input()
l = list(map(int,n))
s = sum(l)
test = False
for i in range(len(l)):
    if not l[i]:
        continue
    else:
        if not s % l[i]:
           test = True
           print(f'Сумма цифр {n} делится на {l[i]}')
if not test:
    print(f'Сумма цифр {n} не делится на свои цифры.')
1
Вирусоборец
 Аватар для thyrex
14444 / 7486 / 1579
Регистрация: 06.09.2009
Сообщений: 27,129
30.07.2025, 13:15
Экзотический вариант

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
n = int(input())
s = 0
for _ in range(4):
    d = n//1000
    s += d
    n = n%1000*10 + d
flag = False
for _ in range(4):
    d = n//1000
    if s%d == 0:
        print(f'Сумма цифр {n} делится на {d}')
        flag = True
    n = n%1000*10 + d
if not flag:
    print(f'Сумма цифр {n} не делится на свои цифры')
1
Любознательный
 Аватар для YuS_2
7405 / 2255 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
30.07.2025, 13:41
Цитата Сообщение от thyrex Посмотреть сообщение
Экзотический
не экзотический, а математический... экзотические, это как раз где цифры в буквы превращаются (магия же )
1
90 / 125 / 28
Регистрация: 17.10.2010
Сообщений: 1,321
30.07.2025, 16:09
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
def sieve_of_eratosthenes(n):
    primes = [True for i in range(n+1)]
    p = 2
    while p**2 <= n:
        if primes[p]:
            for i in range(p**2, n+1, p):
                primes[i] = False
        p += 1
    return [i for i in range(2, n+1) if primes[i]]
 
def prime_factors(n):
    factors = []
    primes = sieve_of_eratosthenes(n)
    for p in primes:
        while n % p == 0:
            factors.append(p)
            n //= p
    if n > 1:
        factors.append(n)
    return factors
n=int(input())
print(sieve_of_eratosthenes(n))
print(prime_factors(n))
0
Вирусоборец
 Аватар для thyrex
14444 / 7486 / 1579
Регистрация: 06.09.2009
Сообщений: 27,129
30.07.2025, 21:06
isaak, а решето тут каким боком?
0
90 / 125 / 28
Регистрация: 17.10.2010
Сообщений: 1,321
31.07.2025, 16:18
thyrex, тогда так:

Python
1
2
3
4
5
6
7
8
9
10
11
num = int (input())
res = [int(x) for x in str(num)]
 
can_devided = True
for r in res:
    if r == 0:
        continue
    if sum(res) % r != 0:
        can_devided = False
 
print(can_devided)
0
Вирусоборец
 Аватар для thyrex
14444 / 7486 / 1579
Регистрация: 06.09.2009
Сообщений: 27,129
31.07.2025, 16:56
Использование списков для решения такой простой задачи - это кощунство. Это относится ко все предложенным вариантам со списками.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6180 / 2875 / 1042
Регистрация: 01.06.2021
Сообщений: 10,540
01.08.2025, 13:05
Цитата Сообщение от thyrex Посмотреть сообщение
Использование списков для решения такой простой задачи - это кощунство.
Для меня кощунство это написание целой скатерти кода ради такой простой задачи. Тут ключевое слово "простой".
Давайте прочтем условие:
Цитата Сообщение от Anuta_2804 Посмотреть сообщение
На какие цифры четырёхзначного числа делится его сумма цифр?
Четырёхзначное число!
Какая, блет, оптимизация для такой простой задачи?
Кощунство это написание целой скатерти кода лишь для того, чтобы код выполнился на несколько пикосекунд быстрее.
Да для этой задачи даже самый плохой метод будет работать быстро. Да хоть конвертируйте числа в строки, строки в числа тысячу раз, все равно код будет работать быстро, ведь там четырёхзначное число.

Для чего учебные задачи? Для того, чтобы подготовить к написанию реальных кодов.
Ни один опытный программист не похвалит за то, что ты для такой задачи написал целую скатерть кода, особенно когда тут оптимизация явно не к месту.
Лучше для такой задачи написать короткий и читабельный код с использованием строк.
1
Вирусоборец
 Аватар для thyrex
14444 / 7486 / 1579
Регистрация: 06.09.2009
Сообщений: 27,129
01.08.2025, 17:27
Работа с числами, тем более с такими короткими, и должна оставаться работой с числами. Ибо после изучения ввода-вывода в любом ЯП идет изучение арифметических операций. И оптимизация тут совершенно не причем.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.08.2025, 17:27
Помогаю со студенческими работами здесь

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

Если a делится на b или b делится на a, то вывести 1, иначе – любое другое число
Даны два целых числа a и b. Если a делится на b или b делится на a, то вывести 1, иначе – любое...

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

Сколько существует четырёхзначных цифр, которые в 600 раз больше суммы своих цифр?
Необходимо создать программу на Python, которая будет считать сколько существует четырёхзначных...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru