public void Sieve() { var sieve = new PhiSieve(1000); sieve.Phi(0).ShouldBe(0); sieve.Phi(1).ShouldBe(1); sieve.Phi(2).ShouldBe(1); sieve.Phi(6).ShouldBe(2); sieve.Phi(9).ShouldBe(6); sieve.Phi(1000).ShouldBe(400); }
public object Solve() { var phiSieve = new PhiSieve(1000000); return(Integer.Range(2, 1000001).Sum(n => phiSieve.Phi(n))); }