cnCalc计算器论坛

 找回密码
 注册
搜索
查看: 12381|回复: 23

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

[复制链接]
发表于 2009-8-17 17:29:39 | 显示全部楼层 |阅读模式
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 | 显示全部楼层
嗯,说句老实话,我没看懂啊!能详细说一说吗,最好有图解~!
发表于 2009-8-17 19:05:53 | 显示全部楼层
恩。。。我只看懂了最后一个。。。
发表于 2009-8-19 21:40:02 | 显示全部楼层
还有很多的..
发表于 2009-8-21 21:51:07 | 显示全部楼层
看不懂,能否说一下具体的按键
发表于 2009-9-11 19:39:10 | 显示全部楼层
能不能利用ran#来实现确定范围随机数啊,我的9750编贪吃蛇时遇到了困难啊
发表于 2009-10-2 18:19:31 | 显示全部楼层
能不能利用ran#来实现确定范围随机数啊,我的9750编贪吃蛇时遇到了困难啊
棒棒餹bbt 发表于 2009-9-11 19:39


Ran#(M) 是产生 0 ~ M (不包括 M ) 的随机实数
 楼主| 发表于 2009-10-6 20:37:13 | 显示全部楼层
另外,可以用整除、求余的方法得到随机正整数。最近忙,有空的时候我会写一段程序。
 楼主| 发表于 2009-10-7 16:26:39 | 显示全部楼层
更新自顶
 楼主| 发表于 2009-10-29 17:40:39 | 显示全部楼层
再次更新
发表于 2009-10-29 22:22:45 | 显示全部楼层
这样的程序很难看明白,建议给出程序流程图和程序,这样大家才明白。
发表于 2009-10-29 22:23:33 | 显示全部楼层
最好能说明一下程序的计算原理,这样大家就更容易学习了
发表于 2009-10-31 13:01:12 | 显示全部楼层
hcz你开个贴专门介绍计算器编程的应用吧,不要光给例子,把原理最重要的是你的思想以及灵感表达出来,我看你这方面挺擅长的
 楼主| 发表于 2009-10-31 15:56:28 | 显示全部楼层
每个程序都包含各种不同的思想,但是基本理论我都写进教程了,我只是在教程的方法的基础上把程序简化了而已。当然,我会继续更新教程,把更多程序思想写进去。
发表于 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
 楼主| 发表于 2009-10-31 22:07:15 | 显示全部楼层
这个主要是用来和别的程序组合的,所以没放判断。。。不过还是写上吧。
 楼主| 发表于 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法取整取零”
 楼主| 发表于 2009-11-13 18:49:04 | 显示全部楼层
又一重要突破,见“输出所有f(X,Y)”
发表于 2009-11-13 20:48:04 | 显示全部楼层
建议:在第一楼做个目录,这样大家看起来会更方便
发表于 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

确实强大
可以用(1+X*10^-14)*10^14
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cnCalc计算器论坛

GMT+8, 2024-12-22 10:12 , Processed in 0.053587 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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