“大整数阶乖”问题的递推算法

转载 2007年09月18日 11:54:00
/*
标题:<<系统设计师>>应试编程实例-[递推算法程序设计]
时间:2006年09月11日(11:52:00-16:26:00)
实现递推算法的大整数阶乖处理函数
时间:2006年09月16日(18:38:00-20:02:00)
实现“斐波那契数列”问题的递推算法函数
*/


//:============================“大整数阶乖”问题的递推算法===========================
#define  MAXN 1000  //最大数据位数
//用递推法求取整数k的阶乖,将结果放入数组array中
void pnext(int array[],int k)
{
 
int *temp; //动态数组[临时存储运算大整数]
 int i,j,num_len = array[0],carry,t; //循环变量,长整数位数,进位标志,临时变量
 if(array[0>= MAXN)
 
{
  printf(
"数据处理位数超过程序设计上限,程序将自动中断运行! ");
  exit(
1);
 }

 temp 
= (int *)malloc(sizeof(int* (num_len + 1)); //创建动态数组
 for(i=1;i<=num_len;i++)
  temp[i] 
= array[i];  //保存原始数据
 for(j=1;j<k;j++)
 
{
  
for(carry = 0,i=1;i<=num_len;i++)
  
{
   
if(i <= array[0])   
    t 
= array[i] + temp[i] + carry;
   
else
    t 
= array[i] + carry; //处理最高位
   
//数据位调整
   array[i] = t % 10;
   carry 
= t / 10;
  }

  
if(carry)
   array[
++num_len] = carry; //在最高位记录进位标志
 }

 free(temp);
 array[
0= num_len;
}

//显示阶乖结果
void Show_Result(int array[],int base_number)
{
 
int i;
 printf(
"%4d!=",base_number);
 
for(i=array[0];i>0;i--)
  printf(
"%d",array[i]);
 printf(
" ");
}

//计算数据的阶乖
void Count_Result(int array[], int base_number)
{
 
int k;
 array[
0= 1;
 array[
1= 1;
 
for(k=2;k<=base_number;k++)
 
{
  pnext(array,k);
  Show_Result(array,k);
 }

}

//:============================“大整数阶乖”问题的递推算法=========================== 
 

相关文章推荐

分治法的经典问题——大整数相乘

请设计一个有效的算法,可以进行两个n位大整数的乘法运算。

分治法的经典问题——大整数相乘

分治法的原理讨论问题时,先来了解一下什么是分治法。 分治法的意思就是,分而治之,也就是把一个问题,拆分成几个小问题,最后再汇总解决的方法 通过大整数相乘问题来了解分治法假如现在我们要求两个大整数相...

分治法的经典问题——大整数相乘

请设计一个有效的算法,可以进行两个n位大整数的乘法运算。 参考解答设X和Y都是n位的二进制整数,现在要计算它们的乘积XY。我们可以用小学所学的方法来设计一个计算乘积XY的算法,但是这样做计算步骤太多,...

大整数问题

  • 2013-12-25 11:49
  • 14KB
  • 下载

大整数问题,乘法,加法,阶乘

//大整数相乘 //c[i+j] += a[i]*b[j];数组的每一位相乘然后相加,并得到最终结果 //再考虑进位问题  #include #include #define SIZE ...

最大整数问题

  • 2013-03-13 22:34
  • 203KB
  • 下载

位图法;海量数据处理之位图技巧;位图技巧;海量数据;编程珠玑第二章问题A;40亿整数;腾讯面试题

编程珠玑第二章开始提出了三个问题,其中第一个问题是这样的:一个顺序文件至多包括40亿个32位的整数,这些数是无序的,找出一个不在该文件中的32位整数。(可能有数字是不在该文件中的,因为2^32总共包括...

整数划分问题(递归法)

文章来源:http://www.cnblogs.com/dolphin0520/archive/2011/04/04/2005098.html   整数划分问题是算法中的一个经典命题之一,有关这...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)