a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 128|回复: 1

[C++] 2012年计算机等级考试二级C++辅导讲义(9)

[复制链接]
发表于 2012-7-31 21:56:58 | 显示全部楼层 |阅读模式
大整数阶乘问题的递推算法   //:===========“大整数阶乘”问题的递推算法===========
' Z, N" k8 T" I# ~3 o, [  #define  MAXN 1000  //最大数据位数$ z1 p2 Z" U3 u
  //用递推法求取整数k的阶乖,将结果放入数组array中
1 C" y& K% I, O* A" i3 I& g  void pnext(int array[],int k)# |7 j  C+ ~( K2 m3 a
  {
  C) ~- D5 G" L: D) A8 R1 n0 |  int *temp; //动态数组[临时存储运算大整数]
  I* t, u3 ]: y( J  int i,j,num_len = array[0],carry,t; //循环变量,长整数位数,进位标志,临时变量
. I$ L2 b9 H8 b; F7 v& `  if(array[0] >= MAXN)+ t! W; r! {2 K! `0 B
  {
. n7 |# V. g- ^( W  printf("数据处理位数超过程序设计上限,程序将自动中断运行!\n");
* f# u$ j" T4 J. [' ]( ^; u  exit(1);
% {+ @$ r' H% ]7 _) _" ]9 b& ~  }/ ^4 N1 C/ G4 N  ^  W- Y& r
  temp = (int *)malloc(sizeof(int) * (num_len + 1)); //创建动态数组
& B6 [# o& g8 Q0 C. u
! Y0 N6 w& V$ ~2 y  for(i=1;i
回复

使用道具 举报

 楼主| 发表于 2012-7-31 21:56:59 | 显示全部楼层

2012年计算机等级考试二级C++辅导讲义(9)

</p>  //显示阶乖结果  y0 h1 R9 [2 E4 N% q
  void Show_Result(int array[],int base_number)7 y& q, J5 s- a5 M0 i9 |3 F$ |6 t0 G
  {, s5 T2 {5 `  h+ v+ q
  int i;
$ _/ Z5 J% U: Q  printf("M!=",base_number);1 e+ ~* W1 a; a+ \- {9 l' a
  for(i=array[0];i>0;i--)
- g* H- y& Q7 N/ D( X5 E8 Y  printf("%d",array);
: X* B, R& A& k$ f7 w2 ~  printf("\n\n");
- e4 P1 }7 H- z) o$ g  }# L- V/ v- r7 Y/ e
  //计算数据的阶乘
  ?) K$ D- j. V# e" I1 d1 }1 m! y  void Count_Result(int array[], int base_number)
  g8 ?" [/ Y9 R* E. |  {% ]" Y$ }# c7 @- C: b: j
  int k;4 d; d8 N$ v8 T% v9 R
  array[0] = 1;8 q4 ]6 S4 y4 [9 D2 ^
  array[1] = 1;
% d$ [$ S) x8 D  j: M. f
2 W1 l8 S; w0 ?9 e  J/ v  for(k=2;k
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-4 22:24 , Processed in 0.224353 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表