计算器不懂除法

1.这里有个问题,即关于初始值y0要小于1/c,这应当如何选取,而又不选择计算1/c呢?y0<1/c 那么便让 y0<{1/c}的最小值
我觉得是这样的,如果计算器内,计算小数是保留4位的话,那么1/c的最小值(单纯看小数算术部分)应该是0.0001,那么取y0=0.00009来计算。我们再附加一个条件判断,当c>10000时,其倒数必然小于0.0001,我们直接默认这时,c的倒数为0.0000.
1.在这里,我们说小数保留四位,不涉及四舍五入,即对一个数,将小数点四位之后的数字,一律归于0.
2.或者,我们也可以背地里小数保留5位,乃至6位,在展示结果时,再进行四舍五入。
这样经过若干递推,y0满足要求,yn的极限自然便是1/c。
2.y0取显示值的最小值,当然能解决问题,可是,这样,会不会因为y0选择过小,导致 趋于极限的yn 所需要的n阶次要很高呢?
经过检验,这个想法是不对的,比如如果 求10000的倒数,因为这个分数很“规整”,在y0=0.00009下,其满足要求的阶次数远远小于 4的倒数 所需的阶次数
在下方的代码程序模拟下 10000-须求到y4, 4-须求到y15,这个差距可大了。
function result=daoshu(c,n)
%matlab关于 利用极限计算倒数的验证
%c 所求数
%n 阶次
%result 返回所求数的倒数(极限计算法,这里返回yn项值作为近似极限值)
% 作者:wenxin
y0=0.00009;
y=y0;
n=n+1;%实际n==1的话,直接输出的是y0
while(1)
if (n==1)
result=y
break;
else
y=y.*(2-c.*y);
n=n-1;
end
end
end
我们如何给这个“傻子”计算器选择一个合理的 阶次值?
直观而言,我认为可以多多统计统计,可数字可太多了,具体计算器里是怎么做的?我想这个就是一个需要继续思考的问题。