hcz 发表于 2009-8-17 17:29:39

[集合帖]ES山寨编程集合

f(g(X))数列求和

准备:
清空全部数据
g(X)开始数字X->A
g(X)结束数字X->B

输入:
g(A)->C:0Rec(Pol(f(C)+X,0),0)/(A-B+1)+A+1->A

运行:
狂按等号到Error为止

说明:
可以根据不同数列的性质来调整,最后结果在X


解方程f(X)

准备:
清空全部数据
开始数字->X
开始位(二进制,如果解不了就增大之)->Y

输入:
|f(X)|/f(X)->M:-.5M|f(X+2^Y)|/f(X+2^Y)+.5->A:-.5M|f(X-2^Y)|/f(X-2^Y)+.5->B:X+.5A^Y(1-B)->X:X-.5B^Y->X:Y-1->Y:

运行:
狂按等号到Error为止

说明:
二分法,程序体积过大,不建议日常使用,最后结果在X


随机正整数

准备:
清空全部数据
最小值->A
最大值->B

输入:
0/(|X-A|/(X-A)-1)/(|B-X|/(B-X)-1)+1000Ran#->X

运行:
狂按等号到Error为止

说明:
最后结果在X


f(X)积分(简易版)

准备:
清空全部数据
开始数字->A
结束数字->B
精确度->C

输入:
f(A)*C+X->X:0/(|A-B|/(A-B)-1)+A+C->A

运行:
狂按等号到Error为止

说明:
A必须小于B,由于计算步骤多所以忽略部分功能,最后结果在X


f(X)微分

准备:
清空全部数据
f(X)数字X->A
开始精确度->Y

输入:
0/((f(A+Y)-f(A-Y))/2/Y-X)+(f(A+Y)-f(A-Y))/2/Y->X:Y/2->Y

运行:
狂按等号到Error为止

说明:
适合和积分混用,最后结果在X


猜数(来自:STALKER_Scar)

准备:
清空全部数据
随机数->Y

输入:
欲猜数:(Ans-Y)/(|Ans-Y|+10^-99)+Pol(X+1,0)

运行:
按二下等号,修改,再按二下等号,循环到猜中为止
第二次等号时显示1说明你猜的数字大了,显示-1说明猜的数字小了,显示0说明猜中

说明:
要防止看到开始数Y,可以输入Rec(1000Ran#,90Ran#)+1


Rec法取整取零

准备:
清空全部数据
取整取零目标->A

输入:
Rec(1,A*360+180)Pol(X,Y)*0+Y/360+.5->A

运行:
按一次等号

说明:
小数部分在A,整数部分请自行计算,如果要组合赋值,可以把A替换为Y


Rec法最大公因数

准备:
清空全部数据
被除数->A
除数->B

输入:
0Pol(Rec(1,360A/B+180),Y)+BY/360+1.5B->A:A-B->B:A-B->A

运行:
狂按等号到A=B为止

说明:
最大公因数在A和B,可以把开头改为0/(A-B)*Pol(……以自动终止程序(感谢zasdfgbnm补充!)


Rnd法四舍五入

准备:
清空全部数据
取整取零目标->X

输入:
10^(9)(Rnd(10^(-9)X+1)-1)

运行:
按一次等号

说明:
整数部分在X,小数部分请自行计算,精确、高速,但只支持10^9以下的非负数


输出所有f(X,Y)

准备:
清空全部数据
开始数字X+0.5->X
结束数字X->A
开始数字Y+0.5->Y
结束数字Y->B
X-0.5->D

输入:
f(X,Y)+0sqrt(B-Y)Rec(Pol(.5X+.5+.5D-(.5X+.5-.5D)|X-A|/(X-A),Y+.5|X-A|/(X-A)+.5),Y)

运行:
狂按等号到Error为止

说明:
稍加修改可以用于显示乘法口诀表等


下一个敬请期待

疯不狂 发表于 2009-8-17 17:36:24

嗯,说句老实话,我没看懂啊!能详细说一说吗,最好有图解~!

朔雪X忆 发表于 2009-8-17 19:05:53

恩。。。我只看懂了最后一个。。。

Nero 发表于 2009-8-19 21:40:02

还有很多的..

FRGFGT 发表于 2009-8-21 21:51:07

看不懂,能否说一下具体的按键

[Boeing 617] 发表于 2009-9-11 19:39:10

能不能利用ran#来实现确定范围随机数啊,我的9750编贪吃蛇时遇到了困难啊

takuya 发表于 2009-10-2 18:19:31

能不能利用ran#来实现确定范围随机数啊,我的9750编贪吃蛇时遇到了困难啊
棒棒餹bbt 发表于 2009-9-11 19:39 http://www.cncalc.org/images/common/back.gif

Ran#(M) 是产生 0 ~ M (不包括 M ) 的随机实数

hcz 发表于 2009-10-6 20:37:13

另外,可以用整除、求余的方法得到随机正整数。最近忙,有空的时候我会写一段程序。

hcz 发表于 2009-10-7 16:26:39

更新自顶

hcz 发表于 2009-10-29 17:40:39

再次更新

gdlcx 发表于 2009-10-29 22:22:45

这样的程序很难看明白,建议给出程序流程图和程序,这样大家才明白。

gdlcx 发表于 2009-10-29 22:23:33

最好能说明一下程序的计算原理,这样大家就更容易学习了

zasdfgbnm 发表于 2009-10-31 13:01:12

hcz你开个贴专门介绍计算器编程的应用吧,不要光给例子,把原理最重要的是你的思想以及灵感表达出来,我看你这方面挺擅长的

hcz 发表于 2009-10-31 15:56:28

每个程序都包含各种不同的思想,但是基本理论我都写进教程了,我只是在教程的方法的基础上把程序简化了而已。当然,我会继续更新教程,把更多程序思想写进去。

zasdfgbnm 发表于 2009-10-31 21:45:08

Rec法最大公因数
狂按等号到A=B为止
建议增加一个判断句:0/(A-B)*Pol(Rec(1,360A/B+180),Y)+BY/360+1.5B->A:A-B->B:A-B->A

hcz 发表于 2009-10-31 22:07:15

这个主要是用来和别的程序组合的,所以没放判断。。。不过还是写上吧。

hcz 发表于 2009-11-12 19:01:58

特开辟停尸房一间。。(还是叫公墓比较好听),存放废弃程序
二分法整除求余

准备:
清空全部数据
被除数->X
除数->Y
开始位(二进制,足够大)->A

输入:
X-((X-Y*2^A)/|X-Y*2^A|/2+0.5)*Y*2^A->X:A-1+0/A->A

运行:
狂按等号到Error为止

说明:
此方法已废弃,新方法见“Rec法取整取零”

hcz 发表于 2009-11-13 18:49:04

又一重要突破,见“输出所有f(X,Y)”

gdlcx 发表于 2009-11-13 20:48:04

建议:在第一楼做个目录,这样大家看起来会更方便

zasdfgbnm 发表于 2009-11-14 21:33:06

Rnd法四舍五入

准备:
清空全部数据
取整取零目标->X

输入:
10^(9)(Rnd(10^(-9)X+1)-1)

运行:
按一次等号

说明:
整数部分在X,小数部分请自行计算,精确、高速,但只支持10^9以下的非负数

hcz 发表于 2009-8-17 17:29 http://www.cncalc.org/images/common/back.gif
确实强大
可以用(1+X*10^-14)*10^14
页: [1] 2
查看完整版本: [集合帖]ES山寨编程集合