东大OJ-一元三次方程解的个数
1043: Fixed Point
时间限制: 5 Sec 内存限制: 128 MB
提交: 26 解决: 5
[提交][状态][讨论版]
题目描述
In
mathematics, a
fixed point (sometimes shortened to
fixpoint, also known as an
invariant point) of a
function is a point that is mapped to itself by the function. That is to say,
x is a fixed point of the function
f
if and only if
f(x)
= x. For example, if
f is defined on the
real numbers by f(x)=x*x-3*x+4.,then
2 is a fixed point of f, because
f(2) = 2.
Not all functions have fixed points: for example, if
f is a function defined on the real numbers as
f(x)
= x + 1, then it has no fixed points, since
x is never equal to
x + 1 for any real number. In graphical terms, a fixed point means the point (x,
f(x))
is on the line y =
x, or in other words the
graph of
f
has a point in common with that line. The example
f(x)
= x + 1 is a case where the graph and the line are a pair of
parallel
lines.
------
http://en.wikipedia.org/wiki/Fixed_point_%28mathematics%29
Our problem is,for a defined on real number function:
f(x)=a*x*x*x+b*x*x+c*x+d,how many different fixed points does it have?
输入
There are multiple test cases.For each test cases, there are four
integers a, b, c and
d in a single line.
You can assume that
-213<=a<=213,
-213<=b<=213,
-213<=c<=213,
-213<=d<=213,and
the number of the result is countable.
输出
For each test case, output the answer
in a single line.
样例输入
3 111 793 -3456 5 -135 811 0 -1 9 10 -81
样例输出
3 3 3
#include<iostream>
#include<math.h>
using namespace std;
int main(){
freopen("in.txt", "r", stdin);
double a3, b3, c3, d3;
double a2, b2, c2;
while (cin >> a3 >> b3 >> c3 >> d3){
c3--;
a2 = 3 * a3; b2 = 2 * b3; c2 = c3;
if (a3 == 0){
if (b3 == 0)//一次方程
{
if (c3 == 0){//只剩常数
cout << 0 << endl;
}
else cout << 1 << endl;
}
else{//二次方程
double delta = c3*c3 - 4 * b3*d3;
if (delta == 0)cout << 1 << endl;
else if (delta>0)cout << 2 << endl;
else cout << 0 << endl;
}
}
else{//三次方程
double delta = b2*b2 - 4 * a2*c2;
if (delta <= 0)//单调递增
cout << 1 << endl;
else{
double x1 = (-b2 - sqrt(delta)) / (2 * a2);
double x2 = (-b2 + sqrt(delta)) / (2 * a2);
double y1 = a3*x1*x1*x1 + b3*x1*x1 + c3*x1 + d3;
double y2 = a3*x2*x2*x2 + b3*x2*x2 + c3*x2 + d3;
double see = y1*y2;
if (see == 0)cout << 2 << endl;
else if (see > 0)cout << 1 << endl;
else cout << 3 << endl;
}
}
}
return 0;
}
东大OJ-一元三次方程解的个数的更多相关文章
- Vijos P1116 一元三次方程求解【多解,暴力,二分】
一元三次方程求解 描述 有形如:ax^3+bx^2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之 ...
- 【CodeVS】p1038 一元三次方程求解
题目描述 Description 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100 ...
- 一元三次方程 (codevs 1038)题解
[问题描述] 有形如:ax3+bx2+cx+d=0这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差 ...
- p1144一元三次方程求解
题目描述: 有形如:f(x)=ax^3+bx^2+cx+d=0这样的一元三次方程,给出该方程中各项的系数a,b,c,d,它们均为实数,并约定该方程一定存在着3个不同的实数解,解的范围在-100至100 ...
- 1038 一元三次方程求解 2001年NOIP全国联赛提高组
题目描述 Description 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100 ...
- [NOIP提高&洛谷P1024]一元三次方程求解 题解(二分答案)
[NOIP提高&洛谷P1024]一元三次方程求解 Description 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约 ...
- [NOIP2001] 提高组 洛谷P1024 一元三次方程求解
题目描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差 ...
- luogu【P1024 一元三次方程求解】题解
题目描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差 ...
- NOIP2001 一元三次方程求解[导数+牛顿迭代法]
题目描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差 ...
随机推荐
- [转]Oracle Form 触发器执行顺序
Trigger 不是数据库中的触发器,不过功能类似,都是当某个事件发生的时候会触发. Trigger中可以编写代码,当对应事件发生的时候就会执行该Trigger中的代码. Oracle Form中的T ...
- 151003-动起来-Javascript
Hi 玩了三天了,下午一会儿还有电影,心快收不回来了...不过,竟然无聊到想学习,你敢信? 下个规矩吧,以后每天早上起来在这里写东西,至少也得是个hi,或者以后都以这个为开头好了,算是个个人标志?申请 ...
- JustWeEngine - 轻量级游戏框架
JustWeEngine - 轻量级游戏框架 An easy open source Android game engine. Github地址 引擎核心类流程图 使用方法 引入Engine作为Lib ...
- 详细说说 Google Test Certified 的各级——Level 2,3
转载请联系作者,谢谢! No releases with red tests基于Level1搭建的持续集成,持续发布选用的CL(changelist)就可以取自CI系统最后跑通的CL,因为持续集成 ...
- NYOJ-取石子(二)
取石子(二) 时间限制:3000 ms | 内存限制:65535 KB 难度:5 描述 小王喜欢与同事玩一些小游戏,今天他们选择了玩取石子. 游戏规则如下:共有N堆石子,已知每堆中石子的数量,并且 ...
- POJ1062昂贵的聘礼[最短路建模]
昂贵的聘礼 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 45892 Accepted: 13614 Descripti ...
- 03 Hibernate错题分析
1.在Hibernate中,以下关于主键生成器说法错误的是( C). A.increment可以用于类型为long.short或byte的主键 B.identity用于如SQL Server.DB2. ...
- 终于可以在centos下使用QQ啦!
电脑装了centos 6.4操作系统,一直无法使用QQ,在centos中文论坛看到一篇介绍安装qq的文章,依样画葫芦,终于成功了1.下载QQ2012软件安装包,我给大家准备好了下载地址 [root@b ...
- nginx集群报错“upstream”directive is not allow here 错误
nginx集群报错“upstream”directive is not allow here 错误 搭建了一个服务器, 采用的是nginx + apache(多个) + php + mysql(两个) ...
- iOS ARC内存管理
iOS的内存管理机制,只要是iOS开发者,不管多长的时间经验,都能说出来一点,但是要深入的理解.还是不简单的.随着ARC(自动管理内存)的流行.iOS开发者告别了手动管理内存的复杂工作.但是自动管理内 ...