I keep getting nzec error. It's frustrating. What is wrong with the following code?
using System;
namespace ConsoleApplication1
{
class Program
{
static string Multiply(string String1, string String2)
{
const int size = 9;
int temp = String1.Length % size == 0 ? 0 : 1;
int size1 = String1.Length / size + temp;
temp = String2.Length % size == 0 ? 0 : 1;
int size2 = String2.Length / size + temp;
int psize = size1 + size2 - 1;
ulong[] number1 = new ulong[size1];
ulong[] number2 = new ulong[size2];
ulong[] product = new ulong[psize];
int i=0;
for (; i < size1 - 1; i++)
number1[i] = ulong.Parse(String1.Substring(i * size, size));
number1[i] = ulong.Parse(String1.Substring(i * size));
for (i = 0; i < size2 - 1; i++)
number2[i] = ulong.Parse(String2.Substring(i * size, size));
number2[i] = ulong.Parse(String2.Substring(i * size));
for (i = 0; i < size1; i++)
{
for (int j = 0; j < size2; j++)
{
product[i + j] += number1[i] * number2[j];
}
}
string result = "";
foreach (ulong u in product)
result += u;
return result.TrimStart('0');
}
static int Main(string[] args)
{
int count = int.Parse(Console.ReadLine());
string Num1, Num2, Res = "";
while (count-- > 0)
{
Num1 = Console.ReadLine();
Num2 = Console.ReadLine();
Res = Multiply(Num1, Num2);
if (Res == "")
Res = "0";
Console.WriteLine(Res);
}
return 0;
}
}
}