本帖最后由 happy886rr 于 2016-6-17 07:51 编辑
地址http://pan.baidu.com/s/1boLGeL5
修订:数学计算工具i版本1.8,此次修订兼并、删除近30%冗余功能,增加10%新特性,并将体积控制在30KB。增加求解方程组模式,增加计算自然底数e,提升斐波那契数的计算能力(可计算至第50万项),采用了双引擎素数筛法,强大的盾构机筛引擎可以在几毫秒内随意筛选 九千九百九十九亿 以内的素数(目前第一万亿溢出筛不到,但前9999亿完全可筛),使用素数切片的交互概念,一切都是如此迅捷。
数学计算工具集(第一季):十几个在数学计算领域里极为强悍的小工具打包为一个集合,涵盖了从数论、数值计算、分形绘图 等各个方面的功能,可满足一般的科学计算需求,即便是mathematica她的算法也有很多错误之处,因此你除了安装接近几个G的mathematica之外,还有另外一种选择,就是这些强悍的小工具,绘图能力,尤其是曲线细节描绘远超mathematica。python、julia虽擅常数学计算,但她们的效率与C或汇编比起来非常低下,julia能在3秒内筛选9亿内素数,但是C+汇编+多线程算法优化使得这些小工具可以在1秒内筛选百亿甚至数百亿内的素数。附带gmp静态库,可计算上亿项的斐波那契数列,千万级别阶乘运算组合数、以及各类大数运算函数。
时间:2016-05-23- [Happy's "i" Version:1.8]
- 欢迎使用数学计算工具i
-
- 1┌Fibonacci数 i/fib [项数]
- └Fibonacci数求和 i/fib.sum [项]
- 2┌阶乘 i/fac [n]
- ├底数e i/e [有效位数]
- └圆周率π i/pi [有效位数]
- 3┌统计 i/sti {样本数组}
- ├求和 i/sum {数组}
- └均值 i/ave {数组}
- 4┌等差求和 i/es [首项] [公差] [项数]
- └等比求和 i/eg [首项] [公比] [项数]
- 5┌圆面积 i/S [半径]
- └三角形面积 i/S {三边长}
- 6┌球体积 i/V [半径]
- └圆柱体积 i/V [半径] [圆柱高]
- 7┌排列计算 i/P [n] [m]
- └组合计算 i/C [n] [m]
- 8┌素数概览 i/pri [范围]
- ├素数切片 i/pri [始] [末]
- ├素数统计 i/pri.count [范围]
- ├第n个素数 i/pri.index [n]
- ├第n个到第m个素数 i/pri.index [n] [m]
- ├素性检测 i/pri? [待测数]
- └素数累加和 i/pri.sum [范围]
- 9┌一元n次方程 i/i {方程系数}
- ├单位复根 i/i [幂]
- └方程组模式 i/ii
- *工具箱
- ┌复利计算 i/cpr [本金] [利率] [复利次数]
- ├年金计算 i/ypr [年金] [利率] [计息期数]
- ├个税计算 i/pit [收入] [三险一金]
- ├日期间隔 i/date {开始日期} {结束日期}
- ├幻方打印 i/mag [阶数]
- ├高精度四则 i/hip ["表达式"]
- └化学元素周期表 i/ele
- *Hash计算
- ┌ 字符串摘要 i/hash ["字符串"]
- ├md5文件摘要 i/md5 ["文件路径"]
- └16位md5摘要 i/md5.16 ["文件路径"]
- *Shell>> i/shell
复制代码 用法:
1.举个简单例子,比如我要求1到9的和,有两种写法:- REM 数组求和
- i/sum 1 2 3 4 5 6 7 8 9
- REM 等差数列求和
- i/es 1 1 9
复制代码 2.查看化学元素周期表,下面的命令瞬间就会出现神奇。复制代码 3.表达式计算,采用StarWing的灵感结合词法分析,可进行非常丰富的表达式运算。支持多种函数:- 常数类
- pi 3.141592653589
- e 2.718281828489
- 通用类
- round 四舍五入
- floor 整取
- ceil 向上舍入
- deg 角度转弧度
- sqrt 开方
- lg 常用对数,以10为底
- ln 自然对数
- // 整除
- % 取余数
- ^ 次方
-
- 三角函数类
- sin、cos、tan
- arcsin、arccos、arctan
-
- 双曲函数类
- sinh、cosh、tanh
- arcsinh、arccosh、arctanh
复制代码 请使用命令进入shell计算模式复制代码 直接输入、或粘贴表达式,即刻出结果。
示例计算((3*3+2)%6+7.187)*5-7/189,使用如下命令:- [code]
- REM 粘贴表达式计算
- >>((3*3+2)%6+7.187)*5-7/189
- = 60.897962962963
复制代码 复杂的多函数混合嵌套计算,直接复制粘贴算式就行,计算更本不需要时间。- >>3+5tan5lnlge+6pi*tanpi+arcsin0.75+lge+lnpi+6pi-tanpi+arcsin0.75+lge+lnpi+6pi*tanpi+arcsin0.75+lge+lnpi+6pi-tanpi+arcsin0.75+lge+lnpi+6pi-tanpi+arcsin0.75+lge/lnpi+6pi-tanpi+arcsin0.75+sin0.75+lge+lnpi//2+5tan5lnlge+6pi*tanpi+arcsin0.75*tanpi+arcsin0.75+lge+lnpi+6pi-tanpi+arcsin0.75+lge+lnpi+6pi-tanpi+arcsin0.75+lge+lnpi+6pi*tanpi+arcsin0.75+lge+lnpi+6pi-tanpi+arcsin0.75+lge+lnpi+6pi-tanpi+arcsin0.75+lge/lnpi+6pi-tanpi+arcsin0.75+sin0.75+lge+lnpi//2+5tan5lnlge+6pi*tanpi+arcsin0.75*tanpi+arcsin0.75+lge+lnpi+6pi-tanpi+arcsin0.75
- = 708.20927815645
复制代码 基于词法分析,支持数学风格的书写式,比如计算5*(arctan(cos(sin(ln(lg(2.71828)))))),许多编程语言只能接受这种带有许多括号及*号区分的表达式,但是现在你完全可以不写任何乘号和括号,直接这样写5arctancossinlnlge,i工具会自己识别判断。测试如下:- REM 加括号和乘号的结果
- >>5*(arctan(cos(sin(ln(lg(2.71828))))))
- 答案=3.17898...
- REM 不加括号和乘号的结果
- >>5arctancossinlnlge
- 答案=3.17898...
复制代码 4.排列组合计算,比如我要计算双色球中百万大奖的概率是多少?就是算组合数C(33,6)*16的倒数:- REM 计算组合数C(33,6)
- i/C 33 6
- =1107568
- i/shell 1/(16*1107568)
- =0.000000056430
- REM 只有可怜的亿分之5.643左右的概率
复制代码 5.增加复利、年金、个税计算等实用功能。- REM 复利计算
- i/CPR [本金] [利率] [复利次数]
- REM 年金计算
- i/YPR [年金] [利率] [计息期数]
- REM 个税计算
- i/PIT [收入] [三险一金]
复制代码 6.打印一个12阶幻方。- i/mag 12
- ┌────────────────────────┐
- 144 2 3 4 5 139 138 8 9 10 11 133
- 13 131 15 16 128 18 19 125 21 22 122 24
- 25 26 118 117 29 30 31 32 112 111 35 36
- 37 38 106 105 41 42 43 44 100 99 47 48
- 49 95 51 52 92 54 55 89 57 58 86 60
- 84 62 63 64 65 79 78 68 69 70 71 73
- 72 74 75 76 77 67 66 80 81 82 83 61
- 85 59 87 88 56 90 91 53 93 94 50 96
- 97 98 46 45 101 102 103 104 40 39 107 108
- 109 110 34 33 113 114 115 116 28 27 119 120
- 121 23 123 124 20 126 127 17 129 130 14 132
- 12 134 135 136 137 7 6 140 141 142 143 1
-
- └────────────────────────┘
复制代码 7.hash计算模式,支持字符串hash计算:- i/hash i
- Crc32 : e66c3671
- Md5 : 865c0c0b4ab0e063e5caa3387c1a8741
- Sha1 : 042dc4512fa3d391c5170cf3aa61e6a638f84342
- Sha256: de7d1b721a1e0632b7cf04edf5032c8ecffa9f9a08492152b926f1a5a7e765d7
复制代码 文件md5效验- i/md5 i.exe
- REM 32位md5摘要
- MD5 Code:0a3c2eb8c4de4c0184dda0b9fdd82655
- i/md5.16 i.exe
- REM 16位md5摘要
- MD5 Code:c4de4c0184dda0b9
复制代码 8.高性能的素数分析工具。
列出100万以内的素数- i/pri 1000000
- 在1000000以内共有78498个素数
- ┌────────────────────────┐
- 2 3 5 7 11
- 13 17 19 23 29
- 31 37 41 43 47
- 53 59 61 67 71
- 73 79 83 89 97
- ......
-
- 999613 999623 999631 999653 999667
- 999671 999683 999721 999727 999749
- 999763 999769 999773 999809 999853
- 999863 999883 999907 999917 999931
- 999953 999959 999961 999979 999983
- └────────────────────────┘
- 该范围内最大的素数为:999983
复制代码 列出一亿到一亿500之间的素数- i/pri 100000000 100000500
- 在 100000000 到 100000500 区间内共有27个素数
- ┌────────────────────────┐
- 100000007 100000037 100000039 100000049 100000073
- 100000081 100000123 100000127 100000193 100000213
- 100000217 100000223 100000231 100000237 100000259
- 100000267 100000279 100000357 100000379 100000393
- 100000399 100000421 100000429 100000463 100000469
- 100000471 100000493
- └────────────────────────┘
复制代码 统计300亿内的素数个数- i/pri.count 30000000000
- 在30000000000以内共有1300005926个素数
复制代码 列出第1000万个素数- i/pri.index 10000000
- 第10000000个素数是179424673
复制代码 列出第10001个素数到第10050个素数之间的素数- i/pri.index 10001 10050
- 第10001个素数 到 第10050个素数
- ┌────────────────────────┐
- 104743 104759 104761 104773 104779
- 104789 104801 104803 104827 104831
- 104849 104851 104869 104879 104891
- 104911 104917 104933 104947 104953
- 104959 104971 104987 104999 105019
- 105023 105031 105037 105071 105097
- 105107 105137 105143 105167 105173
- 105199 105211 105227 105229 105239
- 105251 105253 105263 105269 105277
- 105319 105323 105331 105337 105341
- └────────────────────────┘
复制代码 检测一个数是否是素数- i/pri? 100000357
- 100000357 是素数
复制代码 计算30亿内的素数和- i/pri.sum 3000000000
- 211169315361937456
复制代码 9.高次方程求解,三次方程参考范盛金的数学公式,四次方程采用费拉里降次为两个二次方程,五次方程没有精确的求根公式,采用牛顿迭代法(利用导线逼近0点)进而降次为四次方程。求解过程非常简单只需要使用/i 开关,将方程的系数输入便可得到所有解(包含复数解)。
举例,求解方程3x^4+5x^2-6x=9,由于该方程没有x^3项,所以x^3项对应的系数写0,注意到“=9”等号右边的系数取负,因此用i工具来求解应该这样输入:- i/i 3 0 5 -6 -9
- 一元四次方程3x^4+0x^3+5x^2-6x-9=0的解为:
- ┌────────────────────────┐
- 共轭复根:-0.252438186547+1.696390660707i
- -0.252438186547-1.696390660707i
- 实数解为: 1.293411063722
- -0.788534690627
- └────────────────────────┘
复制代码 再如求解等系数方程x^36+x^35+x^34+x^33+...+x^2+x^1+x^0=0,该方程所有系数均为1,共有37个1,所以直接i/i 37- i/i 37
- 等系数方程x^36+x^35+x^34+x^33+x^32+x^31+x^30+x^29+x^28+x^27+x^26+x^25+x^24+x^23+x^22+x^21+x^20+x^19+x^18+x^17+x^16+x^15+x^14+x^13+x^12+x^11+x^10+x^9+x^8+x^7+x^6+x^5+x^4+x^3+x^2+x^1+1=0的解为:
- ┌────────────────────────┐
- x[ 1]= 0.985615910348+0.169000820322i
- x[ 2]= 0.942877445461+0.333139794742i
- x[ 3]= 0.873014113161+0.487694943814i
- x[ 4]= 0.778035754318+0.628219997296i
- x[ 5]= 0.660674723390+0.750672305253i
- ... ...
- ... ...
- x[32]= 0.660674723390-0.750672305253i
- x[33]= 0.778035754318-0.628219997296i
- x[34]= 0.873014113161-0.487694943814i
- x[35]= 0.942877445461-0.333139794742i
- x[36]= 0.985615910348-0.169000820322i
- └────────────────────────┘
复制代码 再来看下,智能的自动降次功能- i/i 0 0 0 0 1 5
- 一元五次方程0x^5+0x^4+0x^3+0x^2+1x+5=0的解为:
- ┌────────────────────────┐
- 降为一元四次方程
- 降为一元三次方程
- 降为一元二次方程
- 降为一元一次方程
- 实数解为:x=-5.000000000000
- └────────────────────────┘
复制代码 直接来个五次方程的迭代解- i/i 1 2 3 4 5 6
- 一元五次方程1x^5+2x^4+3x^3+4x^2+5x+6=0的解为:
- ┌────────────────────────┐
- 共轭复根:-0.913952173245+1.001776220695i
- -0.913952173245-1.001776220695i
- 共轭复根: 0.538952173245+1.158003637160i
- 0.538952173245-1.158003637160i
- 迭代解为:-2.000000000000
- └────────────────────────┘
复制代码
|