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
    

    分析:利用二分法不断分割,到达足够的精度即可;

    #include<iostream>
    #include<cmath>
    #include<string.h>
    #include<algorithm>
    using namespace std;
    int nsqrt(int n)
    {
             double x=0,y=n*1.0;
             double mid=1.0,limit;
             limit=y-mid*mid;
             while(limit>0.001)//控制精度
             {
                      mid=(x+y)/2.0;
                      if(mid*mid>=n)
                               y=mid,
                               limit=mid*mid-n;
                      else  x=mid,limit=n-mid*mid;
             }
             return mid;
    }
    int main()
    {
        int n;
        while(~scanf("%d",&n)){
    	printf("%d
    ",nsqrt(n));
        }
        return 0;
    }
    
  • 相关阅读:
    Day 18
    Day 17
    Day 16
    Day 15
    Day 14
    Day 13
    Day 12
    Day 11
    Day 10
    《ES6标准入门》(阮一峰)--2.let 和 const 命令
  • 原文地址:https://www.cnblogs.com/aeipyuan/p/9893114.html
Copyright © 2011-2022 走看看