TopCoder SRM610: DivideByZero
問題文通り実装するだけだけど、Div2 Easy にしてはやや複雑。
public class DivideByZero { public int CountNumbers(int[] numbers) { var newElements = ( from A in numbers from B in numbers let C = A / B where A > B && !numbers.Contains(C) select C ).Distinct().ToArray(); if (!newElements.Any()) return numbers.Length; return CountNumbers(numbers.Concat(newElements).ToArray()); } }