C语言之基本算法24—黄金切割法求方程近似根
//黄金切割法!
/*
================================================================
题目:用黄金切割法求解3*x*x*x-2*x*x-16=0的根。
================================================================
*/
#include<stdio.h>
#include <math.h>
#define E 1e-8
double hs(double x)
{
return 3*x*x*x-2*x*x-16;
}
double gen(double a,double b)
{
double x,fx,fa,fb,g;
g=(sqrt(5)-1.0)/2;
fa=hs(a);
fb=hs(b);
while(fabs(b-a)>E)
{
x=g*(b-a)+a;
fx=hs(x);
if(fa*fx>0)
{
a=x;
fa=fx;
}
else if(fb*fx>0)
{
b=x;
fb=fx;
}
}
return x;
}
main()
{
double a,b,t,fa,fb;
while(fa*fb>0)
{
printf("输入预计区间:\na=");
scanf("%lf",&a);
printf("输入预计区间:\nb=");
scanf("%lf",&b);
fa=hs(a);
fb=hs(b);
}
t=gen(a,b);
printf("方程:3*x*x*x-2*x*x-16=0\n");
printf("解得:x=%.4lf\n",t);
}
/*
================================================================
评:
黄金切割法效率高,可是对刚開始学习的人来说编敲代码比較麻烦,相比而言穷举法程序编写
简单。但效率低下,只是其适用范围非常广。仅仅要给定区间。就能够穷举!对于简单方程
的求解。穷举法非常easy实现!
在没有办法的情况下,穷举法是能够採取的。
================================================================
*/
C语言之基本算法24—黄金切割法求方程近似根的更多相关文章
- C语言之基本算法25—牛顿迭代法求方程近似根
//牛顿迭代法! /* ============================================================ 题目:用牛顿迭代法求解3*x*x*x-2*x*x-16 ...
- 10个经典的C语言面试基础算法及代码
10个经典的C语言面试基础算法及代码作者:码农网 – 小峰 原文地址:http://www.codeceo.com/article/10-c-interview-algorithm.html 算法是一 ...
- 数据结构C语言版 弗洛伊德算法实现
/* 数据结构C语言版 弗洛伊德算法 P191 编译环境:Dev-C++ 4.9.9.2 */ #include <stdio.h>#include <limits.h> # ...
- C语言排序算法之简单交换法排序,直接选择排序,冒泡排序
C语言排序算法之简单交换法排序,直接选择排序,冒泡排序,最近考试要用到,网上也有很多例子,我觉得还是自己写的看得懂一些. 简单交换法排序 /*简单交换法排序 根据序列中两个记录键值的比较结果来对换这两 ...
- 0.数据结构(python语言) 基本概念 算法的代价及度量!!!
先看思维导图: *思维导图有点简陋,本着循循渐进的思想,这小节的知识大多只做了解即可. *重点在于算法的代价及度量!!!查找资料务必弄清楚. 零.四个基本概念 问题:一个具体的需求 问题实例:针对问题 ...
- C语言版数据结构算法
C语言版数据结构算法 C语言数据结构具体算法 https://pan.baidu.com/s/19oLoEVqV1I4UxW7D7SlwnQ C语言数据结构演示软件 https://pan.baidu ...
- 五大常用算法之四:回溯法[zz]
http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741376.html 1.概念 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试 ...
- JVM探究 面试题 JVM的位置 三种JVM:HotSpot 新生区 Young/ New 养老区 Old 永久区 Perm 堆内存调优GC的算法有哪些?标记清除法,标记压缩,复制算法,引用计数法
JVM探究 面试题: 请你弹弹你对JVM的理解?Java8虚拟机和之前的变化更新? 什么是OOM?什么是栈溢出StackOverFlowError?怎么分析 JVM的常用调优参数有哪些? 内存快照如何 ...
- 算法基础_递归_求杨辉三角第m行第n个数字
问题描述: 算法基础_递归_求杨辉三角第m行第n个数字(m,n都从0开始) 解题源代码(这里打印出的是杨辉三角某一层的所有数字,没用大数,所以有上限,这里只写基本逻辑,要符合题意的话,把循环去掉就好) ...
随机推荐
- 关于tp5 的验证码遇到的一些问题
问题1: 网上大部分给的安装包是: composer require topthink/think-captcha 但是会提示你下载失败说要你回复*****的原始数据啥的 那可能是因为你的安装环境版本 ...
- Kaggle案例分析3--Bag of Words Meets Bags of Popcorn
项目描述:这是一个关于情感分析的教程.谷歌的Word2Vec(文本深度表示模型)是一个由深度学习驱动的方法, 旨在获取words内部的含义.Word2Vec试图理解单词之间的含义与语义关系.它类似于r ...
- C# Message类的属性Msg所关联的消息ID
C# Message类的属性Msg所关联的消息ID https://msdn.microsoft.com/en-us/library/windows/desktop/ms645606(v=vs.8 ...
- JavaScript:document.execCommand()的用法
document.execCommand()的用法小记 一.语法 execCommand方法是执行一个对当前文档,当前选择或者给出范围的命令.处理Html数据时常用. 如下格式:document.ex ...
- Java第三阶段学习(八:网络通信协议、UDP与TCP协议)
一.网络通信协议 1.概念: 通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,在计算机网络中,这些连接和通信的规则被称为网络通信协议,它对数据的传 ...
- CSS 浮动和清除
CSS 浮动和清除浮动 在写页面布局的过程中,浮动是大家经常用的属性.在好多的排版布局中都是用的的浮动比如说下面这些地方都是应用到了浮动. 在我学习浮动的时候可是熬坏了脑筋,在这里我分享一下我对浮动这 ...
- MySQL子查询,派生表和通用表达式
一:子查询 1.介绍 在另一个查询(外部查询)中嵌套另一个查询语句(内部查询),并使用内部查询的结果值作为外部查询条件. 2.子查询在where中 SELECT customerNumber, che ...
- 常用的服务发现对比(Consul、zookeeper、etcd、eureka)
这里就平时经常用到的服务发现的产品进行下特性的对比,首先看下结论: Feature Consul Zookeeper Etcd Eureka 服务健康检查 服务状态,内存,硬盘等 (弱)长连接 ...
- P2651 添加括号III
P2651 添加括号III无论怎么添加,a2一定是分母,其他的可以是分子,所以最后看看,(a1*a3*..*an)%a2==0即可 #include<iostream> #include& ...
- 读think in java有感
.... 2.2.1 保存到什么地方 程序运行时,我们最好对数据保存到什么地方做到心中有数.特别要注意的是内存的分配.有六个地方都可以保存数据: (1) 寄存器.这是最快的保存区域,因为它位于和其他所 ...