using System.Collections.Generic;
public abstract class LotharCollatz
public abstract List<int> collatzSequence();
class InputNumbers : LotharCollatz
private static int _inputNumber { get; set; }
public InputNumbers(int inputNumber)
_inputNumber = inputNumber;
public override List<int> collatzSequence()
List<int> resultArray = new List<int>();
resultArray.Add(_inputNumber);
int copyOfInputNumber = _inputNumber;
while(copyOfInputNumber != 1)
if(copyOfInputNumber % 2 == 0)
resultArray.Add(copyOfInputNumber);
copyOfInputNumber = 3 * copyOfInputNumber + 1;
resultArray.Add(copyOfInputNumber);
public static void Main(string[] args)
Console.Write("Enter a number: ");
int input = Convert.ToInt32(Console.ReadLine());
LotharCollatz sample = new InputNumbers(input);
Console.Write("The Collatz Sequence for " + input + " is ");
foreach (int i in sample.collatzSequence())