c语言的开方程序,详细解析C语言中的开方实现
关于C语言中的开方计算,首先想到的当然是sqrt()函数,让我们先来回顾一下它的基本用法:
头文件:#include
sqrt() 用来求给定值的平方根,其原型为:
double sqrt(double x);
参数
x 为要计算平方根的值。
如果 x < 0,将会导致 domain error 错误,并把全局变量 errno 的值为设置为 EDOM。
返回值
返回 x 平方根。
注意,使用 GCC 编译时请加入-lm。
实例计算200 的平方根值。
#include
main(){
double root;
root = sqrt(200);
printf("answer is %f\n", root);
}
输出结果:
answer is 14.142136
题目求整数N的开方,精度在0.001
二分法若N大于1,则从[1, N]开始,low = 1, high = N, mid = low + (high - low) >> 1开始进行数值逼近
若N小于1,则从[N, 1]开始,low = 0, high = N, mid = low + (high - low) >> 1开始进行数值逼近
ac代码
/**
* 创新工厂2014年校招算法题目,求整数N的开方,精度为0.001
*/
#include
#include
#include
#define ACCURACY 0.001
double newSqrt(double n)
{
double low, high, mid, tmp;
// 获取上下界
if (n > 1) {
low = 1;
high = n;
} else {
low = n;
high = 1;
}
// 二分法求开方
while (low <= high) {
mid = (low + high) / 2.000;
tmp = mid * mid;
if (tmp - n <= ACCURACY && tmp -n >= ACCURACY * -1) {
return mid;
} else if (tmp > n) {
high = mid;
} else {
low = mid;
}
}
return -1.000;
}
int main(void)
{
double n, res;
while (scanf("%lf", &n) != EOF) {
res = newSqrt(n);
printf("%lf\n", res);
}
return 0;
}
c语言的开方程序,详细解析C语言中的开方实现相关推荐
- c语言算开方程序,详细解析C语言中的开方实现
关于C语言中的开方计算,首先想到的当然是sqrt()函数,让我们先来回顾一下它的基本用法: 头文件:#include sqrt() 用来求给定值的平方根,其原型为: double sqrt(doubl ...
- echo命令详细解析(linux中超级详细,图文展示)
echo命令详细解析(linux中超级详细,图文展示) echo作为最基本,最常用的命令,在初学linux,或运维操作中,有着广泛性的使用:特别是在写shell脚本的时候,更是会经常性的用到. 虽然e ...
- c语言如何找一个数的ac码,详细解析C语言中的开方实现
关于C语言中的开方计算,首先想到的当然是sqrt()函数,让我们先来回顾一下它的基本用法: 头文件:#include sqrt() 用来求给定值的平方根,其原型为: double sqrt(doubl ...
- C语言的驱动法编程详细解析
数据压倒一切.如果选择了正确的数据结构并把一切组织的井井有条,正确的算法就不言自明.编程的核心是数据结构,而不是算法. --Rob Pike 说明 本文基于这样的认识:数据是易变的,逻辑是稳定的. 本 ...
- 基础不牢靠,何以争朝夕?Java基础面试82道详细解析(更新中)
题目的基本顺序是: 基本语法 类相关的语法 内部类的语法 继承相关的语法 异常的语法 线程的语法 集合的语法 io 的语法 虚拟机方面的语法 因文章篇幅的问题,本文分(一)(二)两篇进行讲解,知识点很 ...
- 小程序开发语言python_小程序是用什么语言开发的?5种最佳语言分享
你应该学习哪种编程语言来探索AI的深度?当然,你会需要一个拥有许多优秀机器学习和深度学习库的语言.它还应具有良好的运行时性能,良好的工具支持,大量程序员社区以及健康的支持包生态系统.这仍然留下了很多不 ...
- c语言第一次作业程序题pta,c语言第一次作业程序题pta
c语言第一次作业程序题pta 5-1 统计学生平均成绩与及格人数 (15 分)本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于 60 分)的人数.题目保证输入与输出均在整型范围内.输入格 ...
- c语言开发窗口程序,怎么用c语言做一个界面?
https://m.zjurl.cn/answer/6697137038547747083/?app=news_article&app_id=26&share_ansid=669713 ...
- MATLAB程序详细解析,遗传算法——matlab代码解析
遗传算法--matlab代码解析 本文为学习B站老哥数学建模课程之后的一点笔记,图片源自web,代码源自老哥程序包,侵权删. 详细的遗传算法原理不再赘述,百度即可找到. 算法定义 遗传算法(GA)是模 ...
- flutter DateTime 日期时间详细解析 Dart语言基础
也许你迷茫,但是我想说,在你迷茫的同时,保持本心,过好今天就好. 学习Dart语言,首先我们需要使用到一个语言调试工具 DartPad 在 Dart 中,DateTime 对象代表某个时刻,时区可以是 ...
最新文章
- VMware 克隆Linux后找不到eth0
- nginx rewrite重写与防盗链配置
- Cisco之ARP配置
- android 屏幕录像
- 关于membership的进一步理解
- 电脑文件系统的管理总结
- JAVA的23种设计模式
- 盘点计算机世界那些经典谣言
- Angular实现图片点击缩放组件
- es 吗 查询必须有sort_ElasticSearch DSL之From/Size,Sort
- 苹果计算机磁盘格式,Mac 上“磁盘工具”中可用的文件系统格式
- LINQ-to-SQL那点事~耳目一新的partial class 和 partial method
- 考英语四级误用六级题 千余考生困教室4个小时
- 怎么用代码弹回 UITableView 中左滑出来的删除按钮
- ILSpy反编译工具的使用
- 【智能算法】PSO粒子群算法求解无约束多元函数最值(Java代码实现)
- 2010年翡翠岛露营
- 固态硬盘是什么接口_SATA M.2 PCIe?一分钟教你认识固态硬盘接口
- xxl-job任务调度平台
- 360浏览器强制使用极速模式
热门文章
- 服务器远程桌面日志,Windows记录远程桌面3389登录日志
- 河南省2019计算机专业试题,2019年河南省对口计算机专业试卷
- java 权重 分配_一种按权重分配的Java算法
- php wap微信h5支付接口,微信支付开发H5支付
- 升级到AppCompat v22.1.0,现在获得IllegalArgumentException:AppCompat不支持当前的主题功能
- 极限学习机(Extreme Learning Machine,ELM)详解
- 为什么有一些PDF转换成Word后是乱码?
- 【转】SQL修改字段长度
- java学生签到系统代码_java学生考勤签到代码【相关词_ 学生考勤系统java代码】...
- Unity 制作艺术字 BMFont