問題描述
求兩個(gè)不超過 200 位的非負(fù)整數(shù)的和功戚。
輸入
有兩行,每行是一個(gè)不超過 200 位的非負(fù)整數(shù),沒有多余的前導(dǎo) 0似嗤。
輸出
一行,即相加后的結(jié)果啸臀。結(jié)果不能有多余的前導(dǎo) 0,即如果結(jié)果是 342烁落,那么就不能輸出為 0342乘粒。
輸入樣列
22222222222222222222
33333333333333333333
輸出樣例
55555555555555555555
算法實(shí)現(xiàn)
using System;
namespace Questions{
class Program{
public static void Main(string[] args){
string m = Console.ReadLine();
string n = Console.ReadLine();
int l = m.Length > n.Length ? m.Length+1 : n.Length+1;
int[] k=new int[400];
if (m.Length > n.Length) {
string temp = m;
m = n;
n = temp ;
}
for (int i = 0; i < m.Length ; i++) {
int temp = n[n.Length - i - 1] + m[m.Length - i - 1] - '0' - '0'+ k[i];
if (temp >=10) {
k[i + 1]++;
k[i] = temp - 10;
}else
k[i] = temp;
}
for (int i = m.Length; i < n.Length; i++)
{
int temp = k[i] + n[n.Length - i - 1] - '0';
if (temp >= 10)
{
k[i + 1]++;
k[i] = temp - 10;
}
else
k[i] = temp;
}
while (k[l - 1] == 0)
l--;
for (int i = l-1; i >= 0; i--)
Console.Write(k[i]);
Console.WriteLine();
Console.ReadKey();
}
}
}