public static void Main()
PairOfNums[] pairs = PairOfNums.Generate(5);
for (int i = 0; i < pairs.Length; i++)
PairOfNums pair = pairs[i];
Console.WriteLine("Pair " + (i + 1) + ": (" + pair.GetNum1() + ", " + pair.GetNum2() + ")");
Console.WriteLine("Is End-Start Pair: " + pair.IsEndStartPair());
public PairOfNums(int num1, int num2)
public bool IsEndStartPair()
int lastDigitNum1 = num1 % 10;
int firstDigitNum2 = GetFirstDigit(num2);
int lastDigitNum2 = num2 % 10;
int firstDigitNum1 = GetFirstDigit(num1);
return (firstDigitNum1 == lastDigitNum2) || (firstDigitNum2 == lastDigitNum1);
private int GetFirstDigit(int number)
public static PairOfNums[] Generate(int n)
PairOfNums[] pairs = new PairOfNums[n];
Random random = new Random();
for (int i = 0; i < n; i++)
bool isEndStartPair = false;
generatedNum1 = random.Next(1, 1001);
generatedNum2 = random.Next(1, 1001);
int lastDigitNum1 = generatedNum1 % 10;
int firstDigitNum2 = generatedNum2;
while (firstDigitNum2 >= 10)
int lastDigitNum2 = generatedNum2 % 10;
int firstDigitNum1 = generatedNum1;
while (firstDigitNum1 >= 10)
if ((firstDigitNum1 == lastDigitNum2) || (firstDigitNum2 == lastDigitNum1))
pairs[i] = new PairOfNums(generatedNum1, generatedNum2);