求解任意正整数n开根号的值
提示:理解二分法、函数调用
定义函数double fun(int n)实现
#include<bits/stdc++.h> //万能函数头文件
using namespace std;
double fun(int n); //定义一个求解根号的函数声明
int main()
{
int n;
cout<<"输入想要求解根号的值n:";
cin>>n;
if(n<0)
cout<<"输入有误"; //负数不能开根号
if(n==0)
cout<<"所求根号"<<n<<"等于:0"; //特殊根号值
if(n>0)
cout<<"所求根号"<<n<<"等于:"<<fun(n);
return 0;
}
double fun(int n) //函数定义
{
double mid,low=0.0,hight=n;; //高位值,低位值,中间值
while(hight-low>=0.000000001) //缩小mid的误差
{
mid=(hight+low)/2;
if(mid*mid==n) //恰好找到
return mid; //返回mid
if(mid*mid<n) //找小了
low=mid; //提升低位值
if(mid*mid>n) //找打
hight=mid; //缩小高位值
}
return mid; //误差小于0.0000000001返回mid
}
提示:二分法解题思路
总结
今天Ahual分享了不适用函数如何求解一个整数的方法,总结了二分法的思想,如果觉得小编的分享对你有用的话,不要忘记关注点赞评论收藏哦,拜拜,下回再见,嘻嘻。