zoukankan      html  css  js  c++  java
  • X的平方根(二分)

    设计函数int sqrt(int x),计算 xx 的平方根。

    输入格式

    输入一个 整数 xx,输出它的平方根。直到碰到文件结束符(EOF)为止。

    输出格式

    对于每组输入,输出一行一个整数,表示输入整数的平方根。

    样例输入

    1
    2
    3
    4
    5
    6
    7
    8
    9

    样例输出

    1
    1
    1
    2
    2
    2
    2
    2
    3

    分析:牛顿迭代法

    牛顿迭代法求平方根,主要是利用二次函数上的点的切线,与x轴的交点,然后再用x对应的函数图像上的点,做切线,不断的迭代,知道满足一个指定的精确度。

    迭代公式

    (x0 + a/x0)/2
    

      

     1 #include <iostream>
     2 #include <cmath>
     3 #include <cstdio>
     4 using namespace std;
     5 
     6 int sqrt(int x){
     7     double t = 1.0;
     8     while(fabs(t * t - x) > 1e-6){
     9         t = (t + x / t) / 2;
    10     }//牛顿迭代法
    11     return t;
    12 }
    13 
    14 int main(){
    15     int x;
    16     while(scanf("%d", &x) != EOF){
    17         printf("%d
    ",sqrt(x));
    18     }
    19     return 0;
    20 }
    View Code
    永远渴望,大智若愚(stay hungry, stay foolish)
  • 相关阅读:
    第十六周个人作业
    小组作业
    第十五周个人作业
    本周个人总结
    产品计划会议
    本周个人总结
    排球计分程序
    JProfiler入门
    (转)MMOGS服务器架构设计
    (转)游戏服务器开发需要学习的技术
  • 原文地址:https://www.cnblogs.com/h-hkai/p/8320453.html
Copyright © 2011-2022 走看看