2011年计算机二级C++辅导实例编程(9)

来源:计算机等级考试    发布时间:2012-08-29    计算机等级考试视频    评论

  大整数阶乘问题的递推算法

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

  #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("数据处理位数超过程序设计上限,程序将自动中断运行!/n");

  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  {

  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)

上一页12下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答