编程怎么求平方根

时间:2025-03-03 13:46:13 明星趣事

求平方根的编程方法有多种,以下是一些常见的方法及其在Python、C语言和Java中的实现示例:

使用数学库函数

Python:可以使用`math.sqrt()`函数来计算平方根。

```python

import math

result = math.sqrt(16)

print(result) 输出 4.0

```

C语言:可以使用`sqrt()`函数,需要包含`math.h`头文件。

```c

include

include

int main() {

double number = 16.0;

double result = sqrt(number);

printf("The square root of %.2f is %.2f

", number, result);

return 0;

}

```

Java:可以使用`Math.sqrt()`方法。

```java

public class Test01 {

public static void main(String[] args) {

double a = 16;

System.out.println("16的平方根是" + Math.sqrt(a));

}

}

```

牛顿迭代法

Python

```python

def sqrt(n):

x = n / 2

while True:

y = (x + n / x) / 2

if abs(x - y) < 0.00001: 精度要求

return y

x = y

```

C语言

```c

include

double sqrt(double n) {

double x = n / 2;

while (1) {

double y = (x + n / x) / 2;

if (abs(x - y) < 0.00001) {

return y;

}

x = y;

}

}

int main() {

double number = 16.0;

double result = sqrt(number);

printf("The square root of %.2f is %.2f

", number, result);

return 0;

}

```

Java

```java

public class Test01 {

public static double sqrt(double n) {

double x = n / 2;

while (true) {

double y = (x + n / x) / 2;

if (Math.abs(x - y) < 0.00001) {

return y;

}

x = y;

}

}

public static void main(String[] args) {

double a = 16;

System.out.println("16的平方根是" + sqrt(a));

}

}

```

二分查找法

Python

```python

def sqrt(n):

if n < 0:

raise ValueError("Cannot calculate square root of negative number.")

left, right = 0, n

while right - left > 0.00001:

mid = (left + right) / 2

if mid * mid < n:

left = mid

else:

right = mid

return left

```

C语言

```c

include

double sqrt(double n) {

if (n < 0) {

fprintf(stderr, "Cannot calculate square root of negative number.

");

exit(1);

}

double left = 0, right = n;

while (right - left > 0.00001) {

double mid = (left + right) / 2;

if (mid * mid < n) {

left = mid;

} else {

right = mid;

}

}

return left;

}

int main() {

double number = 16.0;

double result = sqrt(number);

printf("The square root of %.2f is %.2f

", number, result);

return 0;

}

```

Java