Tag: sqrt

为什么乘以比平方根快许多倍?

我有几个问题用以下算法判断一个数字是否为素数,我也知道用Eratosthenes的筛子可以更快地响应。 为什么计算ii * sqrt (n)次的速度更快。 比sqrt (n)只有一次? 为什么Math.sqrt()比我的sqrt()方法更快? 这些算法的复杂性是什么O(n),O(sqrt(n)),O(n log(n))? public class Main { public static void main(String[] args) { // Case 1 comparing Algorithms long startTime = System.currentTimeMillis(); // Start Time for (int i = 2; i <= 100000; ++i) { if (isPrime1(i)) continue; } long stopTime = System.currentTimeMillis(); // End Time System.out.printf("Duracion: %4d […]

Java中的快速sqrt以牺牲精度为代价

我正在寻找Java中的快速平方根实现,用于输入范围为[0,2 * 10 ^ 12]的双值。 对于此范围内的任何值,精度应小于5位小数。 换句话说,结果可能与5个小数位后的Math.sqrt()方法不同。 但是,此方法需要比Math.sqrt()快得多。 有任何想法吗? 谢谢!