Рассмотрим различные варианты слов из 20 букв, которые содержат 18 букв Т (звёздочка обозначает любую из оставшихся 10 букв): ТТТТТТТТТТТТТТТТТТ** ТТТТТТТТТТТТТТТТТ**Т ... **ТТТТТТТТТТТТТТТТТТ - 19 вариантов
ТТТТТТТТТТТТТТТТТ*Т* ТТТТТТТТТТТТТТТТ*ТТ* ТТТТТТТТТТТТТТТ*ТТТ* ... *ТТТТТТТТТТТТТТТТТТ* - 18 вариантов
Вместо каждой из "*" может стоять любой из десяти символов (кроме Т), то есть на каждую из 190 перестановок мы имеем 10^2 = 100 вариантов распределения остальных символов на месте звёздочек. Общее количество вариантов = 190*100 = 19000
Но если брать что "Автомат получает на вход трёхзначное десятичное число", т.е 4 значные не подаются на вход то не войдут числа 261 1916 1120 820 5100 9410
ТТТТТТТТТТТТТТТТТТ**
ТТТТТТТТТТТТТТТТТ**Т
...
**ТТТТТТТТТТТТТТТТТТ - 19 вариантов
ТТТТТТТТТТТТТТТТТ*Т*
ТТТТТТТТТТТТТТТТ*ТТ*
ТТТТТТТТТТТТТТТ*ТТТ*
...
*ТТТТТТТТТТТТТТТТТТ* - 18 вариантов
ТТТТТТТТТТТТТТТТ*Т*Т
ТТТТТТТТТТТТТТТ*ТТ*Т
ТТТТТТТТТТТТТТ*ТТТ*Т
...
*ТТТТТТТТТТТТТТТТТ*Т - 17 вариантов
...
Т*Т*ТТТТТТТТТТТТТТТТ
*ТТ*ТТТТТТТТТТТТТТТТ - 2 варианта
*Т*ТТТТТТТТТТТТТТТТТ - 1 вариант
19+18+17+...+2+1 = 190
Для решения задачи можно также использовать формулу для вычисления числа перестановок с повторениями:
P(nт,n*) = (18+2)!/(18!*2!) = 20!/(18!*2!) = 19*20/2 = 190
Вместо каждой из "*" может стоять любой из десяти символов (кроме Т), то есть на каждую из 190 перестановок мы имеем 10^2 = 100 вариантов распределения остальных символов на месте звёздочек.
Общее количество вариантов = 190*100 = 19000
def Avtomat(chislo)
s = chislo.to_s
if s.length == 4
s = s[0..-2] + "1"
end
if s.length == 3
s = (2*(s[0].to_i)).to_s + s[1..-1]
end
sym = [9,0,1,2,3,4,5,6,7,8]
s_new = ""
for k in 0..s.size - 1
s_new += sym[s[k].to_i].to_s
end
return s_new.to_i
end
for i in 100..9999
r = Avtomat(i)
p [i,r] if [159, 261, 1916, 1120, 820, 105, 5100, 9410].include?(r)
end
Вывод
[116, 105]
[160, 159]
[616, 105]
[660, 159]
[1930, 820]
[1931, 820]
[1932, 820]
[1933, 820]
[1934, 820]
[1935, 820]
[1936, 820]
[1937, 820]
[1938, 820]
[1939, 820]
[2230, 1120]
[2231, 1120]
[2232, 1120]
[2233, 1120]
[2234, 1120]
[2235, 1120]
[2236, 1120]
[2237, 1120]
[2238, 1120]
[2239, 1120]
[6210, 5100]
[6211, 5100]
[6212, 5100]
[6213, 5100]
[6214, 5100]
[6215, 5100]
[6216, 5100]
[6217, 5100]
[6218, 5100]
[6219, 5100]
В перечисленное не попали числа 261 1916 9410
Но если брать что "Автомат получает на вход трёхзначное десятичное число", т.е 4 значные не подаются на вход то не войдут числа
261 1916 1120 820 5100 9410