チラシの裏 剰余を使わないFizzBuzz実装

using System;
using System.Collections.Generic;
using System.Linq;

static class Test {

  static IEnumerable<U> Zip<S, T, U>(IEnumerable<S> seq1, IEnumerable<T> seq2, Func<S, T, U> selector) {
    var e1 = seq1.GetEnumerator();
    var e2 = seq2.GetEnumerator();
    while (e1.MoveNext() && e2.MoveNext()) {
      yield return selector(e1.Current, e2.Current);
    }
  }

  static void Print<T>(this IEnumerable<T> seq) {
    foreach (var e in seq) {
      Console.WriteLine(e);
    }
  }