Вот вроде сделал, но всё равно неверно считает, или вообще это задание на питоне не получится решить? Подскажите, где ошибся
count = 0
for i in range(100, 999):
-if (i // 1) % 3 == 0:
--count += 1
elif (i // 10) % 3 == 0:
--count += 1
elif (i // 100) % 3 == 0:
--count += 1
print(count)
P.S. отступы верно соблюдены, отметил их "-"
Python
Вторая это то, что ты в каждой из проверок увеличиваешь значение на единицу. То есть в одном числе count может сразу на 3 увеличиться
Помогите с программой на Python. Сколько существует десятичных трёхзначных чисел, в которых только одна цифра кратна 3?
(i % 10) - 3 цифра числа, (i // 10 % 10) - 2 цифра, (i // 100) - 1 цифра.
count = 0
for i in range(100, 1000):
if (i % 10) % 3 == 0 and (i // 10 % 10) % 3 != 0 and (i // 100) % 3 != 0:
count += 1
elif (i % 10) % 3 != 0 and (i // 10 % 10) % 3 == 0 and (i // 100) % 3 != 0:
count += 1
elif (i % 10) % 3 != 0 and (i // 10 % 10) % 3 != 0 and (i // 100) % 3 == 0:
count += 1
print(count)
Вроде так:
print(sum(1 for i in range(100, 1000) if sum(j % 3 == 0 for j in map(int, str(i))) == 1))
Ответ получился 396. Сами числа: https://pastebin.com/LLt7NpxB
Талгат Бисеналиев
Проверил беглым взглядом числа, в числах, такие как 880 или 870 (и др.) ни одна из цифр не кратна 3. Ноль же не может быть кратен, поэтому либо придётся убрать эти числа уже вручную, либо ещё одно какое нибудь условие создать
Зачем тебе py, если это 9^3...
Вот так вычислится количество таких натуральных чисел:
l = 0
for n in range(100, 1000):
m, k = n, 0
while m:
if (m % 10) % 3 == 0: k += 1
m //= 10
if k == 1: l += 1
print(l, 'натуральных чисел'); input()
А вообще-то всего трехзначных чисел ровно в два раза больше нежели одних только натуральных, так что в конце лучше сделать print(2 * l) 123 // 1 = 123
123 // 10 = 12
123 // 100 = 1
Это первая ошибка.Вторая это то, что ты в каждой из проверок увеличиваешь значение на единицу. То есть в одном числе count может сразу на 3 увеличиться
War Facer
А вот в range ошибка - range(100, 1000)
count может сразу на 3 увеличитьсяНе может быть такого, тк у него конструкция if-elif-elif
А вот в range ошибка - range(100, 1000)
Похожие вопросы
- Помогите написать программу на Python, моя версия кода на скрине, вроде всё работает, но автопроверка не проходит.
- Помогите написать программу на python
- Помогите с программой на python библиотека tkinter
- Помогите составить программу в Python. заранее спасибо!
- Помогите с программой на Python
- Помогите решить программу на Python
- Выразите число в виде суммы четырех квадратов Нужно написать программу на python
- Python программирование. Помогите написать программу.
- Программа на Python, Простые Числа
- Помогите, как сделать авторизацию в программе на python?