两个大数相加
2011-03-04 19:37
211 查看
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Bigadd
{
public class BigClass
{
public void BigADD(string x, string y, out string result)
{
int len = 0;
if (x.Length < y.Length)
{
len = y.Length;
x = x.PadLeft(len, '0');
}
else
{
len = x.Length;
y = y.PadLeft(len, '0');
}
int tmp = 0; //进位
result = "";
//进位~~
for (int i = len - 1; i >= 0; i--)
{
int a = Convert.ToInt32(Convert.ToString(x[i]));
int b = Convert.ToInt32(Convert.ToString(y[i]));
int sum = a + b + tmp;
result = Convert.ToString(sum % 10) + result;
tmp = sum / 10;
}
string strtmp = result;
if (strtmp.Substring (0, 1) =="0")
{
result = "1" + result;
}
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Bigadd
{
public class BigClass
{
public void BigADD(string x, string y, out string result)
{
int len = 0;
if (x.Length < y.Length)
{
len = y.Length;
x = x.PadLeft(len, '0');
}
else
{
len = x.Length;
y = y.PadLeft(len, '0');
}
int tmp = 0; //进位
result = "";
//进位~~
for (int i = len - 1; i >= 0; i--)
{
int a = Convert.ToInt32(Convert.ToString(x[i]));
int b = Convert.ToInt32(Convert.ToString(y[i]));
int sum = a + b + tmp;
result = Convert.ToString(sum % 10) + result;
tmp = sum / 10;
}
string strtmp = result;
if (strtmp.Substring (0, 1) =="0")
{
result = "1" + result;
}
}
}
}
相关文章推荐
- 两个大数相加 ----Javascrit 实现
- 【C++】两个大数相加之HuaWei上机
- 两个大数相加问题
- java实现两个大数相加,可能出现溢出错误
- 剑指offer之面试题12 大数相加 实现任意两个整数的加法
- C语言两个以字符串形式出现的超级大数相加
- java机试-用字符串模拟两个大数相加
- 两个大数相加
- 两个大数相加问题
- C++实现的一个简单两个大数相加程序!
- C实现两个大数相加
- java编程实现两个大数相加代码示例
- [ACM] ZOJ Martian Addition (20进制的两个大数相加)
- 用字符串模拟两个大数相加——java实现
- 实现两个大数相加!
- 两个大数相加
- 两个用大数相加(转化为字符串再相加)
- [ACM] ZOJ Martian Addition (20进制的两个大数相加)
- 两个大数(包括负数)相加
- 两个大数相加比较符合自然运算的算法