sqrt

C语言与Scheme实现sqrt函数

C:



#include <stdio.h>

#define Zero 1e-6

float mysqrt(int number) {
	
	float guess = 1.0f;
	float quotient = number/guess;
	float average = (guess + quotient)/2.0;
	
	do {
		guess = average;
		quotient = number/guess;
		average = (guess + quotient)/2.0;
		printf("%f\n", guess);
		
	}while (guess*guess - number >= Zero);
	
	return guess;
}

int main() {
	int number;
	scanf("%d", &number);
	printf(" your sqrt is %f", mysqrt(number));
	return 0;
}


scheme:



(define (improve guess x)
        (average guess (/ x guess)))
        
(define (goodenough guess x)
        (< (abs (- (square guess) x) 0.00001))

(define (sqrt-iter guess x)
        (if (goodenough guess x)
                guess
                (sqrt-iter (improve guess x)
                x)))
                
(define (mymsqrt x)
        (sqrt-iter 1.0 x))           
        
(mysqrt 9)
 



### Sqrt函数介绍 Sqrt函数即平方根函数,是一种数学函数,用于计算一个数的平方根。平方根的概念是平方运算的逆运算,即如果一个数的平方等于另一个数,则这个数是那个数的平方根。例如,因为$4^2 = 16$,所以16的平方根是4。 ### 不同编程语言中Sqrt函数的用法及示例 #### Java 在Java中,`sqrt`函数位于`java.lang.Math`类中,可以直接使用类名调用。该函数接受一个`double`类型的参数,返回该参数的平方根。 ```java public class SqrtExample { public static void main(String[] args) { double num = 16.0; double result = Math.sqrt(num); System.out.println("The square root of " + num + " is " + result); } } ``` #### C++ 在C++中,`sqrt`函数位于`cmath`头文件中。使用前需要包含该头文件,函数接受一个`double`类型的参数,返回其平方根。 ```cpp #include <iostream> #include <cmath> int main() { double num = 16.0; double result = std::sqrt(num); std::cout << "The square root of " << num << " is " << result << std::endl; return 0; } ``` #### Python 在Python中,`math`模块提供了`sqrt`函数。使用前需要导入`math`模块,该函数接受一个数值类型的参数,返回其平方根。 ```python import math num = 16 result = math.sqrt(num) print(f"The square root of {num} is {result}") ``` #### C语言 在C语言中,`sqrt`函数位于`math.h`头文件中。使用前需要包含该头文件,并且在编译时需要链接数学库(通常使用`-lm`选项)。函数接受一个`double`类型的参数,返回其平方根。 ```c #include <stdio.h> #include <math.h> int main() { double num = 16.0; double result = sqrt(num); printf("The square root of %lf is %lf\n", num, result); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值