6.大数相加优化---

原创 2012年03月30日 16:48:48
#include <cstdlib>
#include <iostream>

using namespace std;

 int result[100];
 int length=0;//构造顺序表 
 
 
void add(char a[],char b[]){
    int i;  
    int j; 
    int m=0;//余数 
    int n=0; //进位数 
    
   
    for(i=strlen(a)-1,j=strlen(b)-1;i>=0 && j>=0;i--,j--){
         m= (((int)a[i]-48)+((int)b[j]+n-48))%10;//余数       
         n=(((int)a[i]-48)+((int)b[j]+n-48))/10;//进位数 
         result[length]=m;
         length++;
         }
    while(i>=0){
          m= ((int)a[i]-48+n)%10;//余数       
         n=((int)a[i]-48+n)/10;//进位数 
         result[length]=m;
         length++;
         i--;
         }
     while(j>=0){
          m= ((int)b[j]-48+n)%10;//余数       
         n=((int)b[j]-48+n)/10;//进位数 
         result[length]=m;
         length++;
         j--;
         }
     if(n!=0){
            result[length]=n;
         length++;   
          }
    } 

int main(int argc, char *argv[])
{
    char a[]="123456789" ;
    char b[]="987654321";
    add(a,b);
    int i;
    for(i=length-1;i>=0;i--) 
    printf("%d",result[i]); 
    // printf("%d",length);  
    system("PAUSE");
    return EXIT_SUCCESS;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

大数相加jar包

hdu1002大数相加

  • 2014-12-16 12:44
  • 877B
  • 下载

大数相加问题(java版 )

两个大数相加,如果把数字转换成字符串,那么无论多大的数都可以相加了,将两位数做加法的过程用java代码模拟出来,那么这个问题就得到了解决。package com.zhangyike.bigNum;im...

用栈实现了大数相加

  • 2015-02-15 16:57
  • 954KB
  • 下载

POJ 1503 Integer Inquiry 简单大数相加

DescriptionOne of the first users of BIT’s new supercomputer was Chip Diller. He extended his explor...

大数相加算法

裴波那契大数相加问题

现在给你m个1,你可以把2个1组合成一个2 111 可以拆分为 111 、12、 21 有三种 输入 第一行输入一个n表示有n个测试数据 以下n行,每行输入m个1 (1 输出输出这种...

大数剧相加

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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