예제 #1
0
        internal double GetPart2Solution()
        {
            List <OrbitalBody> bodies = new List <OrbitalBody>()
            {
                new OrbitalBody(new Vector3(17, 5, 1)),
                new OrbitalBody(new Vector3(-2, -8, 8)),
                new OrbitalBody(new Vector3(7, -6, 14)),
                new OrbitalBody(new Vector3(1, -10, 4)),
            };

            JovianSystem jovianSystem = new JovianSystem(bodies);

            return(jovianSystem.GetNumberOfStepsPerCycle());
        }
예제 #2
0
        internal float GetPart1Solution()
        {
            List <OrbitalBody> bodies = new List <OrbitalBody>()
            {
                new OrbitalBody(new Vector3(17, 5, 1)),
                new OrbitalBody(new Vector3(-2, -8, 8)),
                new OrbitalBody(new Vector3(7, -6, 14)),
                new OrbitalBody(new Vector3(1, -10, 4)),
            };

            JovianSystem jovianSystem = new JovianSystem(bodies);

            for (int i = 0; i < 1000; i++)
            {
                jovianSystem.DoTimeStep();
            }

            return(jovianSystem.GetSystemEnergy());
        }