sqrt

5 篇文章 0 订阅

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)
 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值