雷劈数系列一(11.17更新)

雷劈数系列一(11.17更新)

雷劈数是什么?
  有位数学家叫卡普利加,在一次旅行中,遇到猛烈的暴风雨,电闪雷鸣过后,他看到路边一块里程碑,被雷电劈成两半,一半上刻著30,另一半刻著25。这时,卡普利加的脑际中忽然发现了一个绝妙的数学关系——把劈成两半的数加起来,再平方,正好是原来的数。这样的数就是雷劈数了

先来写一个方法判断一个数是不是雷劈数吧

[Copy to clipboard] [ - ]
有趣的题目,好像以前刚刚学编程的时候还有一个叫做水仙花数的。
最年轻的版主,谢谢努力工作。

有趣的案例,还有个有意思的故事呢,来劲!
人脑的思维太伟大了,无与伦比!
引用:
原帖由 maninred 于 2007-11-3 17:01 发表
有趣的题目,好像以前刚刚学编程的时候还有一个叫做水仙花数的。
此题涉及 一个Fixnum类 的to_s方法
       String类 的to_i 方法
           length方法
           []方法(从第一个参数的值开始取然后取到第二个参数的值)
    然后 用了一次迭代 upto
恩 解读完毕
好象少点东西 如果是10以下的数没有判断。。。
引用:
原帖由 xnine 于 2007-11-16 17:40 发表
好象少点东西 如果是10以下的数没有判断。。。
可不可以在先判断下传过的num
if num>=10
...
end
0和1竟然返回true.....

不过你看看二,就知道,我们根本没有往里传10以下的数。
最小的雷劈数是81

[ 本帖最后由 xavier 于 2007-11-17 09:27 编辑 ]
str[0,i+1].to_i + str[i+1,n].to_i
这个应该就是 如何劈了吧?但是不能读懂,能那100当例子给讲解下吗?
现在理解的很模糊的思想

如果是100 迭代就是从0到2
然后呢?
第一次是 1+00?
第二次是 10+0?
第三次呢???超出了?

[ 本帖最后由 xnine 于 2007-11-17 10:03 编辑 ]