大整数数相乘的问题

时间:2018-12-31 12:00:00 资料大全 我要投稿

大整数数相乘的问题

  void Multiple(char A[], char B[], char C[]) {

  int TMP, In=0, LenA=-1, LenB=-1;

  while(A[++LenA] != ‘\0′);

  while(B[++LenB] != ‘\0′);

  int Index, Start = LenA + LenB – 1;

  for(int i=LenB-1; i>=0; i–) {

  Index = Start–;

  if(B[i] != ’0′) {

  for(int In=0, j=LenA-1; j>=0; j–) {

  TMP = (C[Index]-’0′) + (A[j]-’0′) * (B[i] – ’0′) + In;

  C[Index--] = TMP % 10 + ’0′;

  In = TMP / 10;

  }

  C[Index] = In + ’0′;

  }

  }

  }

  int main(int argc, char* argv[]) {

  char A[] = “21839244444444448880088888889″;

  char B[] = “38888888888899999999999999988″;

  char C[sizeof(A) + sizeof(B) - 1];

  for(int k=0; k C[k] = ’0′;

  C[sizeof(C)-1] = ‘\0′;

  Multiple(A, B, C);

  for(int i=0; C[i] != ‘\0′; i++)

  printf(“%c”, C[i]);

  }

【大整数数相乘的问题】相关文章:

1.拓展游戏:数数大挑战

2.《整十数加减整十数》教学反思

3.女性求职的4大敏感问题

4.考研报名三大注意问题

5.面试英语8大常规问题

6.面试的十大经典问题

7.面试的五大必问题目

8.10大常见的英语面试问题