笔算开平方转化成vfp程序
今天给一个当家的中学生讲解了笔算开平方,初中都接触了\((a+b)^2=a^2+2ab+b^2\), 假设ab表示一个广义2位数,b代表个位数,a代表十位数,则ab=10a+b,然后\((10a+b)^2=100a^2+20ab+b^2\), 我们理解不清时,把100a不去考虑,仅仅考虑20ab+\(b^2\)形式,提出公因子b,则为20a+b,然后先以20a作为试商,开始第一步不用考虑,只考虑某一个数的平方即可,从第二步,考虑(20a+b)*b的值,以20a作为先前考虑的倍值,忘了说一件事情,笔算开平方,与多位数除法类似,只不过,第一步是先划分,从个位开始,两位数划分一个段落,确定开方数是几位数,划分的段落数即为开方数的位数,与多位数除法不同之处,多位数除法每次是一位一位的下拉,而笔算开平方是两位两位的下拉。现在讲解一个实例,比如125笔算开平方,先划段,1,25,说明开出来的方值是两位数的,第一步是1,1*1=1,所以第一个数上1,1-1=0,把25拉下来,这时,a=1,20a=20,25除20,最大试商是1,另b=1,20a+b=20*1+1=21,(20a+b)*b=21*1=21,25-21=4,补两位数,变成400,这时a=11,20a=220,用220作为试商,400/220=1.多,所以最大试商是1,20a+b=20*11+1=221,(20a+b)*b=221*1=221,400-221=179,再补两位数,变成17900,这时a=111,20a=2220,以2220作为试商,17900/2220=8.063,最大试商是8,另b=8,20a+b=111*20+8=2228,2228*8=17824,17900-17824=76,再次增加两位,变成7600,这时a=1118了,20a=22360,显然7600不是它的倍数,那么只能再扩大2位数,变成760000,........,一直下去,直到满足有效位即可(笔算开平方时要求精确到的位数)。[此贴子已经被作者于2022-8-21 19:28编辑过]