我在学校有这个作业;我们将在 java 中编写一个简单的程序/方法/算法,让我们接受两个数字输入并输出两个输入之间范围内的所有数字的计数,这些输入可以被 2 或 3 或 5 整除。
分配相当简单,因为您可以遍历范围内的所有数字并在满足所有条件时递增计数器。
但是我们也得到了 10 个测试输入和一个评估我们算法效率的计时器。前八个失败,因为八个值 < 10 ^ 6。但是最后两个测试输入值 < 10^18 并且我的算法失败了。
于是我开始思考素数计数函数的方向并筛出埃拉托色尼,但我的头开始疼。关于更快但仍然足够简单的算法的任何想法?