Ruby/Практикум/Числа: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 369:
'''Замечания по решению:'''
У меня возникает вопрос, кто-либо проверяет работу программ, перед тем, как их сюда разместить? Элементарная проверка выявляет ошибку: число 8 в двоичном представлении - это 1000, очевидно, что если разбить на группы 10 и 00, то сумма одной группы цифр не будет равна сумме второй группы("1 + 0 = 1" и "0 + 0 = 0"), т.е. число не является "счастливым", но представленная программа выше выдаёт нам true, что является неправильным.
 
 
 
'''Возможное решение:'''
Строка 405 ⟶ 403 :
</source>
 
'''Замечания по решению:'''
 
'''Возможное решение:'''
 
<source lang=ruby> val = gets.to_i;
return false if val > 512 || val <= 0
bin_str = sprintf("%b", val)
s = 0
bin_str.each_char.with_index{ |c, i| s += i > bin_str.size/2 ? c.to_i : -c.to_i }
puts bin_str + " is unlucky?" + (s==0).to_s</source>
'''Замечания по решению:'''