微信号:ruby_and_rails

介绍:[Ruby程序员]旨在分享最新的Ruby & Rails,移动开发以及其他相关技术的分享,内容通俗易懂,有来自北京,上海,广州的技术达人不定期的分享.

分享一道面试题吧

2014-12-22 22:55 chenc

----------------------------------------

由于个人时间有限,希望广大ruby,rails高手也能参与进来,帮助别人就是在提升自己,如果您有意向成为ruby程序员的贡献者之一,快快W我吧

----------------------------------------


某公司的一道ruby笔试题

我的解题思路:

对每个数字做一个对应关系,数字 - 对应需要*号数量的表达式,其中

x为日字横中的*数,y为日竖中的*数,表达式最后为横竖焦点数

输入任意数字后,做个轮询,累加计算*号数量即可



class Transfor

#表达式中x为日字横中的*数,y为日竖中的*数,表达式最后为横竖焦点数
EXPRESSION = {
"0" => "2*x+2*y-4",
"1" => "y",
"2" => "5*x-4",
"3" => "3*x+y-3",
"4" => "2*x+y-2",
"5" => "5*x-4",
"6" => "4*x+y-5",
"7" => "x+y-1",
"8" => "3*x+2*y-6",
"9" => "4*x+y-5"
}

#迭代参数, 经表达式计算后, 累计计算得到*总数
def cal(arg, m=3)
res = 0
x,y = m,2*m-1
arg.to_s.each_char do |i|
res += eval(Transfor::EXPRESSION[i])
end
return res
end
end


欢迎关注ruby程序员:快来扫一扫吧



 
ruby程序员 更多文章 rails 中使用roo读取excel数据 ruby中的鸭子类型(duck type) Rails中如何使用jsonp实现跨域访问 一道笔试题 ruby设计模式-单例模式
猜您喜欢 真正打动过你的一个设计是什么? R语言股指波动分析——股票系列(一) 这一次约会很美妙│记录猴年首期技术沙龙 有一堆袜子,如何用最快速高效的算法来给袜子配对? CRAN上R包的十年增长史