【发布时间】:2011-12-14 07:35:14
【问题描述】:
class LargeNumberPb
{
Stack s1;
Stack s2;
Stack res;
string first;
string second;
public LargeNumberPb()
{
first = "10";
second = "11";
s1 = new Stack();
s2 = new Stack();
res = new Stack();
}
public void Fill()
{
for (int i = 0; i < first.Length; i++)
{
s1.Push(first.Substring(i,1));
}
for (int i = 0; i < second.Length; i++)
{
s2.Push(second.Substring(i,1));
}
}
public Stack Sum()
{
for (int i = 0; i < s.Count; i++)
{
res.Push(Convert.ToInt32(s1.Pop()) + Convert.ToInt32(s2.Pop()));
}
return res;
}
}
我想解决添加大量问题,使用堆栈。但它的工作方式不正确,如果两个数字是 100 和 11,那么进位会去哪里?
【问题讨论】:
-
1.如果这两个数字是 100 和 11,则不会有任何进位。 2. 你为什么要尝试使用堆栈来解决这个问题? 3. 你知道.NET 已经内置了 bignum 支持吗? msdn.microsoft.com/en-us/library/…
-
这是一个计算器练习的课堂作业吗?
-
假设两个数字是 8 和 9 那么呢?我想为像 431236748491238564356823 这样的数字实现它。
-
你这样做是为了加二进制数吗?
-
我认为他想添加二进制数?我错了吗?
标签: c# algorithm visual-studio-2010 data-structures stack