Автомат получает на вход четырёхзначное десятичное число, в котором все цифры нечётные. По этому числу строится новое число по следующим правилам.
1. Складываются первая и вторая, а также третья и четвёртая цифры.
2. Полученные два числа записываются друг за другом в порядке неубывания (без разделителей).
Пример. Исходное число: 7511. Суммы: 7 + 5 = 12; 1 + 1 = 2. Результат: 212. Сколько существует чисел, в результате обработки которых автомат выдаст
Ясно, что данное число состоит из
Примечание. Необходимо использовать нечетные цифры.
Ответ: 12.
Приведём другое решение на языке Python.
k = 0
for i in range(1000, 10000):
s = str(i)
if int(s[0]) % 2 != 0 and int(s[1]) % 2 != 0 and int(s[2]) % 2 != 0 and int(s[3]) % 2 != 0:
k1 = int(s[0]) + int(s[1])
k2 = int(s[2]) + int(s[3])
first = str(min(k1, k2))
second = str(max(k1, k2))
s1 = first + second
if s1 == '616':
k += 1
print(k)
Приведём решение Михаила Глинского на языке Python.
count = 0
for x1 in '13579':
for x2 in '13579':
for x3 in '13579':
for x4 in '13579':
m=[int (x1)+int(x2), int (x3)+int(x4)]
m.sort ()
if m[0] == 6 and m[1] == 16:
count += 1
print (count)
Приведём решение Михаила Глинского на языке Python.
count = 0
al='13579'
for x in range(1000,10000):
s = str(x)
if s[0] in al and s[1] in al and s[2] in al and s[3] in al:
m = [int(s[0])+int(s[1]),int(s[2])+int(s[3])]
m.sort()
if m[0] == 6 and m[1] == 16:
count += 1
print(count)
Приведём решение Юрия Красильникова на языке Python.
def sumofd(n):
return sum(map(int,str(n)))
k = 0
for n in range(1000,10000):
a = ''.join(map(str,sorted([sumofd(n//100),sumofd(n%100)])))
if a == '616' and all([c in '13579' for c in str(n)]): k += 1
print(k)

