public string Add(string f_Short, string f_Long)
{
var result = new List<int>();
bool isFull = false;
for (int i = f_Short.Length-1; i >= 0; i--)
{
var vaule = f_Short[i] + f_Long[i+f_Long.Length-f_Short.Length]-'0'-'0';
if (isFull)
{
vaule++;
isFull = false;
}
if (vaule >= 10)
{
isFull = true;
vaule -= 10;
}
result.Add(vaule);
}
for (int i = f_Long.Length- f_Short.Length-1; i >= 0; i--)
{
int value = f_Long[i]-'0';
if (isFull)
{
value++;
isFull = false;
}
if (value >= 10)
{
isFull = true;
value -= 10;
}
result.Add(value);
}
if (isFull)
result.Add(1);
var tmpSB = new StringBuilder();
for (int i = result.Count - 1; i >= 0; i--)
{
tmpSB.Append(result[i]);
}
return tmpSB.ToString();
}