易码技术论坛

 找回密码
 加入易码
搜索
查看: 376448|回复: 21

各位,有没有人用BASIC写过一个计算N的阶乘的程序??

[复制链接]
发表于 2005-7-15 16:35:00 | 显示全部楼层
我觉得速度可以了
 楼主| 发表于 2005-7-15 17:36:00 | 显示全部楼层
不会吧.........慢死了
有个HugeCalc高精度计算器,算100000都还不到一秒呀!
发表于 2005-7-20 19:19:00 | 显示全部楼层
楼上的 你说的程序使用C写的 而且是一个数学疯子做的
 楼主| 发表于 2005-7-22 13:10:00 | 显示全部楼层
以下是引用洋洋在2005-7-20 19:19:37的发言:[BR]楼上的 你说的程序使用C写的 而且是一个数学疯子做的

大哥你知不知道他的算法??
发表于 2005-7-22 20:36:00 | 显示全部楼层
你去他软件提到的那个域名看看 好好找能够找到算法<br>不过我没有看懂<br>
发表于 2005-7-26 15:12:00 | 显示全部楼层
VB啊,难道!
是不是:
1.FOR循环
n=InputBox(输入)
For i=1 To n
s=s*n
next i
2.while循环
......
是不是这两种哦,
因为在网吧所以可能有语法错误!我没注意啊!
VB不能与C语言比,因为这是两种不同的语言
反正VB我只知道这两种算法!
发表于 2005-8-1 11:31:00 | 显示全部楼层
直接乘会溢出的.还是用高精度好一些
发表于 2005-8-5 21:36:00 | 显示全部楼层
这个 算法的优化是数学过程
我的数学水平解决不了这个问题  其实只要是常规使用阶乘,速度足够了
发表于 2005-8-2 18:08:00 | 显示全部楼层
绝对不能用变量 要用数组操作.....
发表于 2005-8-2 18:11:00 | 显示全部楼层
public function F(n)
if n=1 then F=n*F(n-1)
end function
发表于 2005-8-4 14:18:00 | 显示全部楼层
楼上的!
这就是楼主所说的速度快的算法吗?
发表于 2005-8-5 12:18:00 | 显示全部楼层
这个是递规的 是最少的算法 不过很慢
发表于 2005-8-5 20:31:00 | 显示全部楼层
以下是引用洋洋在2005-8-5 12:18:34的发言:[BR]这个是递规的 是最少的算法 不过很慢

我知道是递归,
不是最快的啊,那哪一种最快?
发表于 2005-8-11 11:07:00 | 显示全部楼层
把1到10,1到100,1到1000,1到10000这些常用的算出来
计算时大于10小于100的旧可以直接调用了,呵呵,是个苯办法
发表于 2005-8-12 13:20:00 | 显示全部楼层
直接:
10 INPUT A:B=1
20 FOR I=1 TO A
40 B=B*I
50 NEXT
60 PRINT B
很快呀。
发表于 2005-8-12 16:25:00 | 显示全部楼层
楼上的是GVBASIC吧,俺谈的是VB

我对递归有点头晕,好象理不到头绪,在没学C之前,我还不知道VB的递归是什么!!!
[em04][em04]
发表于 2005-8-12 21:44:00 | 显示全部楼层
我在这个帖子中的那段就是递归的,其实很好理解的
to16层 sleepy 如果数比较大 溢出了呢?
这几天特别懒 一直想写一个数组版的 一直没有实现.....
发表于 2005-8-13 21:17:00 | 显示全部楼层
我是说,不用递归不行吗?我看递归看到头大,而且效率低下.
发表于 2005-8-14 15:43:00 | 显示全部楼层
我不明白,使用递归有什么方便之处?

不用递归,用FOR循环可以,而且很好理解
发表于 2005-12-30 12:52:00 | 显示全部楼层
呵呵!大概如此!
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2025-8-24 14:02 , Processed in 0.013644 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表