高精度加法模板(string类,char)
来源:互联网 发布:mac中毒会有什么反应 编辑:程序博客网 时间:2024/06/05 14:23
方法1:string类
void add(string &s1,string s2)//s1=s1+s2 {int i,j,sum=0;if(s1.length()<s2.length()) swap(s1,s2); for(i=s1.length()-1,j=s2.length()-1;i>=0;i--,j--) { sum+=s1[i]-'0'; if(j>=0) sum+=s2[j]-'0'; s1[i]=sum%10+'0'; sum/=10; } if(sum) s1='1'+s1;}
方法2:string 类
void sum(string &a,string b) // a=a+b{ int i,j,k,c,s; while (a.length()>b.length()) b='0'+b;// a,b处理成一样长 while (b.length()>a.length()) a='0'+a; c=0; for (i=a.length()-1; i>=0; i--) { s=a[i]-48+b[i]-48+c; if ( s>9 ) { s=s%10; c=1;} else c=0; a[i]=48+s; } if ( c>0 ) a='1'+a;}
方法3:char字符
void add(char a[],char b[])//a=a+b{ int i,j,k,sum=0; k=strlen(a)>strlen(b)?strlen(a):strlen(b); a[k+1]=0; for(i=strlen(a)-1,j=strlen(b)-1;i>=0||j>=0;i--,j--,k--) { if(i>=0) sum+=a[i]-'0'; if(j>=0) sum+=b[j]-'0'; a[k]=sum%10+'0'; sum/=10; } if(sum) a[0]=sum+'0'; else strcpy(a,&a[1]); }
- 高精度加法模板(string类,char)
- 高精度加法(非负)模板
- 高精度加法模板
- 高精度加法模板
- c高精度加法模板
- 高精度加法模板
- 高精度之加法模板
- 高精度加法模板
- 高精度加法模板
- 高精度-小数加法【模板】
- 我的高精度加法模板
- uva 424 Integer Inquiry(高精度加法模板) uva 10106 Product(高精度乘法模板)
- 高精度加法乘法类
- 大数(高精度)加法
- 二进制(高精度加法)
- 高精度加法(c++)
- 高精度(加法)
- 高精度 大数加法 乘法 除法 幂 模板
- App Icons on iPad and iPhone
- POJ 1654 Area
- iOS开发中的NSBundle对象
- Writing Smart Clients by Using Windows Communication Foundation
- Linux 内核编程总结
- 高精度加法模板(string类,char)
- HDOJ 1556 Color the ball
- 10个常见的Android新手误区
- 寄居蟹与海葵
- 对xib/nib, file's owner, first responder的理解
- This Handler class should be static or leaks ....
- 在DB2中根据原表复制新表
- VC++程序的编译链接过程
- XManager Shell乱码解决