自己写的一个大数运算程序,算法神马的都是最原始的——模仿电路中的加法器和乘法器的运算过程——不过好歹是实现了。大神看到欢迎指点,若是像我这样的小菜鸟也欢迎留言讨论。
本程序写了一个BigInt的大整数类,可用用字符串直接初始化。重新了toString方法方便输出。实现了基础的一位数加、乘方法,继而实现大数的加、乘。当初为了方便自己观察过程,每个计算方法都输出了相应的信息,用doShowInfo(boolean isShow)来控制是否显示信息。
(好吧,我知道自己写得很烂,将就着看吧)
主方法:
//计算1^1+2^2+3^3+...+20^20;
public class LargeNumber {
/**
* @param args
*/
public static void main(String[] args) {
BigInt.doShowInfo(false);
BigInt result = new BigInt("0");
BigInt i = new BigInt("1");
final BigInt Bi_1 = new BigInt("1");
final BigInt Bi_20 = new BigInt("20");
while(!BigInt.equal(i, Bi_20)){
result = BigInt.plus(result , BigInt.factorial(i, i) );
i = BigInt.plus(i, Bi_1);
}
System.out.println("1^1+2^2+3^3+...+20^20 = "+result);
}
};
BigInt类
p

这篇博客介绍了一个使用Java编写的大整数运算程序,包括大整数的加法、乘法和阶乘操作。作者采用原始的加法器和乘法器算法思路,实现BigInt类,允许通过字符串初始化,并重写了toString方法以方便输出。程序还提供了控制计算过程信息显示的功能。

1149

被折叠的 条评论
为什么被折叠?



