Предмет: Информатика,
автор: EllieArmstrong
Автомат получает на вход пятизначное десятичное число. По полученному
числу строится новое десятичное число по следующим правилам.
1. Вычисляются два числа – сумма первой, третьей и пятой цифр и сумма
второй и четвёртой цифр заданного числа.
2. Полученные два числа записываются друг за другом в порядке
невозрастания (без разделителей).
Пример. Исходное число: 15177. Поразрядные суммы: 9, 12. Результат: 129.
Определите, сколько из приведённых ниже чисел могут получиться
в результате работы автомата.
50 1510 150 1520 2015 1925 1015 215 2519
В ответе запишите только количество чисел
Ответы
Автор ответа:
0
Ответ 5
Код на Ruby
t = {}
for i in 10000..99999
n, a, b, k =i, 0, 0, 0
while n > 0
k += 1
a += n % 10 if k % 2 == 0
b += n % 10 if k % 2 == 1
n = n / 10
end
s = [a,b].max.to_s + [a,b].min.to_s
next if not ["50", "1510", "150", "1520", "2015", "1925", "1015", "215", "2519"].include?(s)
if t[s] == nil then t.store(s, 1) else t[s] += 1 end
end
p t
вывод
{"50"=>15, "150"=>69, "1510"=>837, "2015"=>144, "215"=>168}
Код на Ruby
t = {}
for i in 10000..99999
n, a, b, k =i, 0, 0, 0
while n > 0
k += 1
a += n % 10 if k % 2 == 0
b += n % 10 if k % 2 == 1
n = n / 10
end
s = [a,b].max.to_s + [a,b].min.to_s
next if not ["50", "1510", "150", "1520", "2015", "1925", "1015", "215", "2519"].include?(s)
if t[s] == nil then t.store(s, 1) else t[s] += 1 end
end
p t
вывод
{"50"=>15, "150"=>69, "1510"=>837, "2015"=>144, "215"=>168}
Похожие вопросы
Предмет: Математика,
автор: daratimofeeva889
Предмет: Русский язык,
автор: gamesss111
Предмет: Русский язык,
автор: tolonovanurai
Предмет: Математика,
автор: макс1254