Пример #1
0
        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);
        }
Пример #2
0
        public object Solve()
        {
            var phiSieve = new PhiSieve(1000000);

            return(Integer.Range(2, 1000001).Sum(n => phiSieve.Phi(n)));
        }