Предмет: Информатика,
автор: Shaк
Автомат получает на вход трёхзначное десятичное число. По полученному числу строится новое десятичное число по следующим правилам.
1. Вычисляются два числа – сумма старшего и среднего разрядов, а также сумма среднего и младшего разрядов заданного числа.
2. Полученные два числа записываются друг за другом в порядке не возрастания (без разделителей).
Пример. Исходное число: 277. Поразрядные суммы: 9, 14. Результат: 149.
Определите, сколько из приведённых ниже чисел могут получиться в результате работы автомата.1212 129 123 1218 1812 312 912 112
В ответе запишите только количество чисел...
Поясните ответ,заранее спасибо)))
Ответы
Автор ответа:
0
Из чего что получается, при пробежке от 100 до 999
[184, 129]
[275, 129]
[366, 129]
[390, 129]
[399, 1812]
[457, 129]
[481, 129]
[548, 129]
[572, 129]
[639, 129]
[663, 129]
[754, 129]
[845, 129]
[920, 112]
[930, 123]
[936, 129]
[993, 1812]
Общее кол-во
{129=>13, 123=>1, 1218=>0, 1812=>2, 312=>0, 912=>0, 112=>1}
Ответ 4 числа
Код
def Avtomat2(chislo)
return 0 if !chislo.between?(100, 999)
s = chislo.to_s
a = s[0].to_i + s[1].to_i
b = s[1].to_i + s[2].to_i
s = [a, b].max.to_s + [a, b].min.to_s
return s.to_i
end
def zadanie(min, max, numbers)
b = Hash.new
numbers.each do |w|
b.store(w, 0)
end
for i in min..max
r = Avtomat2(i)
if numbers.include?(r)
p [i,r]
b[r] += 1
end
end
return b
end
# # # Примеры применения
p zadanie(100, 999, [129, 123, 1218, 1812, 312, 912, 112])
[184, 129]
[275, 129]
[366, 129]
[390, 129]
[399, 1812]
[457, 129]
[481, 129]
[548, 129]
[572, 129]
[639, 129]
[663, 129]
[754, 129]
[845, 129]
[920, 112]
[930, 123]
[936, 129]
[993, 1812]
Общее кол-во
{129=>13, 123=>1, 1218=>0, 1812=>2, 312=>0, 912=>0, 112=>1}
Ответ 4 числа
Код
def Avtomat2(chislo)
return 0 if !chislo.between?(100, 999)
s = chislo.to_s
a = s[0].to_i + s[1].to_i
b = s[1].to_i + s[2].to_i
s = [a, b].max.to_s + [a, b].min.to_s
return s.to_i
end
def zadanie(min, max, numbers)
b = Hash.new
numbers.each do |w|
b.store(w, 0)
end
for i in min..max
r = Avtomat2(i)
if numbers.include?(r)
p [i,r]
b[r] += 1
end
end
return b
end
# # # Примеры применения
p zadanie(100, 999, [129, 123, 1218, 1812, 312, 912, 112])
Похожие вопросы
Предмет: Кыргыз тили,
автор: Аноним
Предмет: Английский язык,
автор: ki066792
Предмет: Геометрия,
автор: DeSgter
Предмет: Биология,
автор: Таня25012000