{
int i,max,min,temp=0;
if(h<t)
{
min=h;
max=t;
}
else if(h>t)
{
min=t;
max=h;
}
else
{
max=t;min=t;
}
for(i=0;i<min;i++)//将两个数组的前min个元素进行相加
{
R_add[i]=R1[i]+R2[i]+temp;
if((R_add[i]<R1[i])||(R_add[i]<R2[i]))
{
temp=1;
}
else temp=0;
}
if(max==min)
{
while(temp)
{
max++;
R_add[max-1]=temp;
temp=0;
}
}
else{
for(i=min;i<max;i++)//将剩余的元素复制给和
{ if(max==h)
{
R_add[i]=R1[i]+temp;
temp=0;
}
else
{
R_add[i]=R2[i]+temp;
temp=0;
}
}
}
这个问题的核心就是实现大数的加法运算....
这个是我以前写的....可以实现任意数相加...是在位操作方面考虑的...
----------------解决方案--------------------------------------------------------
为啥看不懂LZ问啥呢
10的1000次方和Fibonacci 数列有关系吗
----------------解决方案--------------------------------------------------------
不太理解,一语双关.
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]yxwsbobo[/un] 在 2008-3-15 23:39 的发言:[/bo]
为啥看不懂LZ问啥呢
10的1000次方和Fibonacci 数列有关系吗
为啥看不懂LZ问啥呢
10的1000次方和Fibonacci 数列有关系吗
楼主的意思大概是说他要输入的这个参数非常之大。这里有个国外的专门研究斐波那契数列的网址,是英文的:
http://www.ee.surrey.ac.uk/Personal/R.Knott/Fibonacci
----------------解决方案--------------------------------------------------------
11楼的代码太长,根本没必要写这么长,本来就是很简洁的事
不过,算法时间瓶颈不在大数上
----------------解决方案--------------------------------------------------------
请教一下
用Math类Console.WriteLine(Math.Pow(10,1000));
输出结果是正无穷大
那怎么能把10的1000次方输出,是不是就输出不了啊?????
----------------解决方案--------------------------------------------------------
那前面不是有吗?(投机方式).
----------------解决方案--------------------------------------------------------
这也太难了吧
----------------解决方案--------------------------------------------------------