Project1
标题: 10000的阶乘。。好帅。。 [打印本页]
作者: 寒冷魔王 时间: 2015-2-5 22:23
标题: 10000的阶乘。。好帅。。
本帖最后由 寒冷魔王 于 2015-2-5 23:07 编辑
你会吓一跳的。。
数了一下,竟然有35660位。。
我对数学的敬仰程度又一次地上升了。。。
P.S.其实我是来卖萌的(PAI~)
作者: stevenrock 时间: 2015-2-5 22:25
卖萌可耻~
作者: 美丽晨露 时间: 2015-2-5 22:32
这结果是多少位数啊。
作者: myownroc 时间: 2015-2-6 02:03
图论比数论帅!
作者: 长弓巡洋集团 时间: 2015-2-6 07:37
算那么大的的数,机器在流血......
好在游戏里没有用上虚数、导数和回归函数......
作者: taroxd 时间: 2015-2-6 07:50
长弓巡洋集团 发表于 2015-2-6 07:37
算那么大的的数,机器在流血......
好在游戏里没有用上虚数、导数和回归函数...... ...
一万还好啦
(1..10000).inject :*
作者: RyanBern 时间: 2015-2-6 08:51
阶乘这种东西,玩玩就好。
不过应该体会到阶乘这东西是量级是很厉害的,所以编写算法时如果写出了一个复杂度为O(n!)的东西,那你就可以去面壁一会了。
lim(n->∞)10000^n/n!=0
BTW如果说大学数学里面,高数就是求导求积分,线性代数就是算行列式算矩阵逆的话,那数学是没啥好学的。
最起码,你要知道各种级数以及其收敛性理论,线性空间理论,Jordan标准型分解定理,这才是大学数学应该学的东西。
作者: taroxd 时间: 2015-2-6 11:09
本帖最后由 taroxd 于 2015-2-6 11:11 编辑
def fact(n)
return 1 if n == 0
n * fact(n - 1)
end
def fact2(n, accumulator = 1)
return accumulator if n == 0
fact2(n - 1, n * accumulator)
end
p fact(4)
p fact2(4)
def fact(n)
return 1 if n == 0
n * fact(n - 1)
end
def fact2(n, accumulator = 1)
return accumulator if n == 0
fact2(n - 1, n * accumulator)
end
p fact(4)
p fact2(4)
后者是尾递归,前者不是。
前者的空间复杂度为 O(n),后者是 O(1) (在打开尾递归优化的条件下,且不考虑数据越大占的空间越大)
作者: 寒冷魔王 时间: 2015-2-6 11:18
本帖最后由 寒冷魔王 于 2015-2-6 11:25 编辑
taroxd 发表于 2015-2-6 11:09
def fact(n)
return 1 if n == 0
n * fact(n - 1)
有两个参数的话Lisp也能算了
通过参数传递这点我还真没想到,还是T君厉害
作者: taroxd 时间: 2015-2-6 11:26
本帖最后由 taroxd 于 2015-2-6 11:28 编辑
寒冷魔王 发表于 2015-2-6 11:18
有两个参数的话Lisp也能算了
[fold][/fold]
其实就是迭代(我歪楼我自豪)
另外,我更喜欢 Ruby 版的 Lisp 方言(啥)不就是数不清楚括号么
fact = -> n {
iter = -> n, accumulator {
n.zero? ? accumulator : iter[n - 1, n * accumulator]
}
iter[n, 1]
}
fact = -> n {
iter = -> n, accumulator {
n.zero? ? accumulator : iter[n - 1, n * accumulator]
}
iter[n, 1]
}
作者: 寒冷魔王 时间: 2015-2-6 11:36
本帖最后由 寒冷魔王 于 2015-2-6 11:45 编辑
taroxd 发表于 2015-2-6 11:26
其实就是迭代(我歪楼我自豪)
另外,我更喜欢 Ruby 版的 Lisp 方言(啥)不就是数不清楚括号么
翻译过来就是- def fact(n)
- private
- def iter(n,accumulator)
- n.zero? ? accumulator : iter(n-1,n*accumulator)
- end
- iter(n,1)
- end
复制代码 吧
虽然没学过这些,不过看起来貌似Ruby把函数作为对象生成了
作者: 精灵使者 时间: 2015-2-6 12:38
12位的计算器可以计算到15的阶乘。
文曲星的科学技术法(最高到指数9999)可以算到3268的阶乘。
作者: 龙和许也 时间: 2015-2-6 12:42
- oh = "你萌"
- my ="这些"
- god ="大触太历害了~"
- p oh+my+god
复制代码
作者: 化螺耕 时间: 2015-2-6 16:40
我只是来膜拜楼上各位大神的
作者: zeldafd 时间: 2015-2-6 17:36
要論賣萌, 還是C++好=V=
作者: 乱逛的无尾熊 时间: 2015-2-6 17:37
好厉害。
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |