コード例 #1
0
        public void DigitArray_DigitSumTest()
        {
            var digitArray = new DigitArray(1);
            Assert.AreEqual(1, digitArray.GetDigitSum());

            digitArray = new DigitArray(125);
            Assert.AreEqual(8, digitArray.GetDigitSum());
        }
コード例 #2
0
ファイル: Problem020.cs プロジェクト: AlphaGit/project-euler
        public long Solve()
        {
            var digitArray = new DigitArray(1);
            for (int i = 2; i <= 100; i++)
                digitArray.MultiplyBy(i);

            return digitArray.GetDigitSum();
        }
コード例 #3
0
ファイル: Problem016.cs プロジェクト: AlphaGit/project-euler
        public long Solve()
        {
            var digitArray = new DigitArray(2);

            // first 2
            for (var i = 1; i < 1000; i++) // 999 times
                digitArray.MultiplyBy(2);

            return digitArray.GetDigitSum();
        }
コード例 #4
0
        public void DigitArray_MultiplyByTest()
        {
            var digitArray = new DigitArray(1);
            digitArray.MultiplyBy(9);
            Assert.AreEqual(1, digitArray.GetDigitCount());
            Assert.AreEqual(9, digitArray.GetDigitSum());

            digitArray = new DigitArray(125);
            digitArray.MultiplyBy(77); // result = 9625
            Assert.AreEqual(4, digitArray.GetDigitCount());
            Assert.AreEqual(22, digitArray.GetDigitSum());
        }
コード例 #5
0
        public void DigitArray_CloneTest()
        {
            var d = new DigitArray(9999999);
            var clone = d.Clone();
            Assert.AreEqual(63, clone.GetDigitSum());
            Assert.AreEqual(7, clone.GetDigitCount());
            clone.MultiplyBy(2); // 19999998

            // original is not modified
            Assert.AreEqual(63, d.GetDigitSum());
            Assert.AreEqual(7, d.GetDigitCount());

            // clone is modified
            Assert.AreEqual(63, clone.GetDigitSum());
            Assert.AreEqual(8, clone.GetDigitCount());
        }