Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Подсчитать количество целых чисел в диапазоне от 100 до 999 у которых есть две одинаковые цифры. Решение на Python

Сергей Косточко Ученик (6), закрыт 1 год назад
Лучший ответ
Андрей Высший разум (466198) 1 год назад
Всего 900 чисел и у 9 * 9 * 8 чисел все цифры разные. Весь код:
 print(900 - 9 * 9 * 8) 
Но если хочется говнокодить циклом, то:
 print(sum(len(set(str(i))) < 3 for i in range(100, 1000))) 
Если какие-либо цифры трёхзначного числа совпадают, то длина множества цифр этого числа меньше 3.
Остальные ответы
Ксения Райт Гений (99757) 1 год назад
Если не менее двух одинаковых цифр, то есть хотя бы две или, может быть, три:
 k = 0 
for i in range(100, 1000):
j = i
cifras = []
while j:
cifra = j % 10
cifras.append(cifra)
if cifras.count(cifra) == 2:
k += 1
break
j //= 10
print(k)
Тогда 252 числа. А если ровно 2 одинаковых цифры, тогда просто из 252 вычитаем 9 и получаем 243.
S.H.I. Оракул (68575) 1 год назад
Для решения этой задычи можно использовать следующий код на Python:
 count = 0 
for i in range(100, 1000):
num = str(i)
if num[0] == num[1] or num[0] == num[2] or num[1] == num[2]:
count += 1
print(count)
В этом коде мы перебираем все числа от 100 до 999, преобразуем каждое число в строку и проверяем, есть ли в ней хотя бы две одинаковые цифры. Если такие цифры есть, увеличиваем счетчик на 1. В конце выводим полученное количество чисел.
Похожие вопросы