大整数的运算问题
有个算法问题还没解决
大整数的运算
今天老师要求我们一天解决 可是我写了两个多小时就写了一个加法
乘除发一点概念都还没有
望那为高手指点一下
leversss(328054944) 15:36:41
整数要求是512位以上
leversss(328054944) 15:37:53
乘法的结果是1024位
所以要做1024位的
leversss(328054944) 15:38:14
我刚刚写的加法
leversss(328054944) 15:38:16
public class BigNumber
{
String n1="1233332211111111111111112222222222222223333333333";
String n2="9222222222233949034949494112332211112222222229999";
int intn1[];
int intn2[];
int addResult[];
public void init()
{
int len1=n1.length();
int len2=n2.length();
intn1=new int[len1];
intn2=new int[len2];
for(int i=0;i<len1;i++)
intn1[i]=n1.charAt(i)-48;
for(int i=0;i<len2;i++)
intn2[i]=n2.charAt(i)-48;
}
public void add()
{
int len1=n1.length();
int len2=n2.length();
int len=len1>len2?len1:len2;
++len;
addResult=new int[len];
for(int i=0;i<len;i++)
addResult[i]=0;
int dis=len-len1;
for(int i=len1-1;i>=0;i--)
addResult[dis+i]+=intn1[i];
dis=len-len2;
for(int i=len2-1;i>=0;i--)
addResult[dis+i]+=intn2[i];
for(int i=len-1;i>0;i--)
if(addResult[i]>9)
{
addResult[i]-=10;
++addResult[i-1];
}
}
public int[] getRes()
{
return addResult;
}
public static void main(String args[])
{
BigNumber bn=new BigNumber();
bn.init();
bn.add();
int arr[]=bn.getRes();
for(int i=0;i<arr.length;i++)
System.out.print(arr[i]);
}
}