Program.cs 699 B

12345678910111213141516171819202122232425262728293031
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. namespace D19._2
  6. {
  7. class Program
  8. {
  9. static void Main(string[] args)
  10. {
  11. var ba = new List<int>();
  12. for (var j = 1; j <= int.Parse(args[0]); ++j) ba.Add(j);
  13. int i = 0;
  14. while (ba.Count > 1)
  15. {
  16. var target = i + ba.Count / 2;
  17. if (target >= ba.Count) target -= ba.Count;
  18. ba.RemoveAt(target);
  19. if (target > i) i++;
  20. if (i >= ba.Count) i -= ba.Count;
  21. }
  22. Console.WriteLine($"The answer is : {ba.First()}");
  23. }
  24. }
  25. }