本帖最后由 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/shellCOPY |
用法:
1.举个简单例子,比如我要求1到9的和,有两种写法: | | | i/sum 1 2 3 4 5 6 7 8 9 | | | | i/es 1 1 9COPY |
2.查看化学元素周期表,下面的命令瞬间就会出现神奇。i/eleCOPY 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、arctanhCOPY |
请使用命令进入shell计算模式
直接输入、或粘贴表达式,即刻出结果。
示例计算((3*3+2)%6+7.187)*5-7/189,使用如下命令: | [code] | | | | >>((3*3+2)%6+7.187)*5-7/189 | | = 60.897962962963COPY |
复杂的多函数混合嵌套计算,直接复制粘贴算式就行,计算更本不需要时间。 | >>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.20927815645COPY |
基于词法分析,支持数学风格的书写式,比如计算5*(arctan(cos(sin(ln(lg(2.71828)))))),许多编程语言只能接受这种带有许多括号及*号区分的表达式,但是现在你完全可以不写任何乘号和括号,直接这样写5arctancossinlnlge,i工具会自己识别判断。测试如下: | | | >>5*(arctan(cos(sin(ln(lg(2.71828)))))) | | 答案=3.17898... | | | | >>5arctancossinlnlge | | 答案=3.17898...COPY |
4.排列组合计算,比如我要计算双色球中百万大奖的概率是多少?就是算组合数C(33,6)*16的倒数: | | | i/C 33 6 | | =1107568 | | i/shell 1/(16*1107568) | | =0.000000056430 | | COPY |
5.增加复利、年金、个税计算等实用功能。 | | | i/CPR [本金] [利率] [复利次数] | | | | i/YPR [年金] [利率] [计息期数] | | | | i/PIT [收入] [三险一金]COPY |
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 | | | | └────────────────────────┘COPY |
7.hash计算模式,支持字符串hash计算: | i/hash i | | Crc32 : e66c3671 | | Md5 : 865c0c0b4ab0e063e5caa3387c1a8741 | | Sha1 : 042dc4512fa3d391c5170cf3aa61e6a638f84342 | | Sha256: de7d1b721a1e0632b7cf04edf5032c8ecffa9f9a08492152b926f1a5a7e765d7COPY |
文件md5效验 | i/md5 i.exe | | | | MD5 Code:0a3c2eb8c4de4c0184dda0b9fdd82655 | | i/md5.16 i.exe | | | | MD5 Code:c4de4c0184dda0b9COPY |
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 | | └────────────────────────┘ | | 该范围内最大的素数为:999983COPY |
列出一亿到一亿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 | | └────────────────────────┘COPY |
统计300亿内的素数个数 | i/pri.count 30000000000 | | 在30000000000以内共有1300005926个素数COPY |
列出第1000万个素数 | i/pri.index 10000000 | | 第10000000个素数是179424673COPY |
列出第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 | | └────────────────────────┘COPY |
检测一个数是否是素数 | i/pri? 100000357 | | 100000357 是素数COPY |
计算30亿内的素数和 | i/pri.sum 3000000000 | | 211169315361937456COPY |
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 | | └────────────────────────┘COPY |
再如求解等系数方程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 | | └────────────────────────┘COPY |
再来看下,智能的自动降次功能 | i/i 0 0 0 0 1 5 | | 一元五次方程0x^5+0x^4+0x^3+0x^2+1x+5=0的解为: | | ┌────────────────────────┐ | | 降为一元四次方程 | | 降为一元三次方程 | | 降为一元二次方程 | | 降为一元一次方程 | | 实数解为:x=-5.000000000000 | | └────────────────────────┘COPY |
直接来个五次方程的迭代解 | 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 | | └────────────────────────┘COPY |
|