大数减法
2013-10-06 16:01
218 查看
大数减法模板只支持正数的大数减法并且被减数大于减数
#include <iostream> #include <cstdlib> #include <cstring> #include <string> using namespace std; #define MAXN 100 char* Subtraction(string A, string B); int main() { string num1, num2; cin>>num1>>num2; Subtraction(num1, num2); return 0; } char* Subtraction(string A, string B) { int i,k; int len1, len2; int up; int length; len1 = A.length(); len2 = B.length(); int a[MAXN+4] ={0}; int b[MAXN+4] ={0}; int c[MAXN+4] ={0}; for(k=0,i=len1-1; i>=0; i--) a[k++] = A[i]-'0'; for(k=0,i=len2-1; i>=0; i--) b[k++] = B[i]-'0'; for(i=0,up=0; i<MAXN; i++) { c[i] = a[i]-b[i]-up; if(c[i]<0) { c[i] += 10; up=1; } else up = 0; } for(i=MAXN; i>=0; i--) if(c[i]) break; length = i+1; cout<<length<<endl; char* result = (char *)malloc((sizeof(char)*length)); for(i=length-1,k=0; i>=0; i--) result[k++] = c[i]+ '0'; //测试输出 cout<<A<<" - "<<B<<" = "; for(i=0; i<length; i++) cout<<result[i]; cout<<endl; return result; }
相关文章推荐
- C++实现大数的减法
- 谷歌计算器算大数减法频频出错
- 大数减法
- 大数,高精度计算---大数减法
- 大数加法.减法.乘法.除法
- 大数系列——大数减法
- C/C++编程小练习 大数减法之浮点大数减法算法
- 大数加法 减法 乘法 除法 高精度四则运算
- C语言实现大数的减法
- 整数大数减法
- 大数加法、减法、乘法、除法、求余、比较、乘方(代码简短(总计150)、易懂)
- HDU 5920 Ugly Problem(大数减法 模拟)
- 大数减法
- 大数减法算法
- Java常用数字工具类 大数乘法、加法、减法运算(2)
- 百练_2736大整数减法(大数相减)
- hdu 4920 Ugly Problem [模拟+大数减法]
- C语言-大数减法
- 大数减法
- 大数减法