任务是找到一个至少有 500 个除数的三角形数。
例如 28 有 6 个除数:1,2,4,7,14,28
我的代码最多可用于 200 个除数,但对于 500 个除数,它会永远运行...
有什么办法可以优化代码。例如,我想到了动态优化和记忆,但找不到方法吗?
            int sum = 0;
            int counter = 0;
            int count = 1;
            bool isTrue = true;
            while (isTrue)
            {
                counter = 0;
                sum += count;
                for (int j = 1; j <= sum; j++)
                {
                    if (sum % j == 0)
                    {
                        counter++;
                        if (counter == 500)
                        {
                            isTrue = false;
                            Console.WriteLine("Triangle number: {0}", sum);
                            break;
                        }
                    }
                }
                count++;
            }            
            Console.WriteLine("Number of divisors: {0}", counter);