精确计算一个数的n次方
2012-02-01曾红
科技传播 2012年14期
曾 红
四川省自贡市第一人民医院计算机中心,四川自贡 643000
通常我们的计算机在计算一个数的n次方时,当数值稍大一点,就会用科学计数法输出结果,引起数值不精确,比如:123140=3.86114×10292,如果结果再大些还会显示溢出,1234150。本文通过数组,采用累加的算法实现了一个数的n次方的精确计算。
累加的实际n次方的原理:
1232=123×123=123个123相加;
1233=123×123×123=(123个123相加)×123。
为了实现精确计算,我们把输入数的每一位数字分别存放到组数中,如:输入数123,则s(3)=1, s(2)=2, s(1)=3
1 源程序(以VFP为例)
2 结论
采用数组分散存放计算中间值和结果,实现了每一位的精确运算,也不会产生数值溢出的错误。
以下是本算法运行的结果:
运行结果:
请输入一个整数:123
请输入次方:300
共有位数:627
[1]章立民.FoxPro命令与函数实用详解.学苑出版社,1994.
[2]严蔚敏,吴伟民.数据结构(C语言版)[M].清华大学出版社,1997,4:1S.