class EncodeNumber
{
public EncodeNumber()
{
int n = -18;
int[] result = encodeNumber(n);
Console.WriteLine("The return array of encode number {0} is", n);
if(result!=null)
foreach (int temp in result)
Console.Write(temp + "\t");
}
int[] encodeNumber(int n)
{
if (n <= 1)
return null;
//int num = 1;
int nnew = n;
List<int> arr = new List<int>();
while(nnew>1)
{
//num = 1;
for (int i = 2; i <= nnew; i++)
{
if (nnew % i == 0 && isPrime(i))
{
arr.Add(i);
//num = num * i;
nnew = nnew / i;
break;
}
}
//nnew = nnew / num;
}
return arr.ToArray();
}
Boolean isPrime(int x)
{
bool status = true;
for (int i = 2; i <= x / 2; i++)
{
if (x % i == 0)
{
status = false;
break;
}
}
return status;
}
}The fundamental theorem of arithmetic states that every natural number(n) greater than 1 can be written as a unique product of prime numbers. So, WAP to create an array of prime numbers that, when multipled together, will equal n.