东大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之间),且根与根之差 ...
随机推荐
- Ineedle驱动方式dpdk测试性能
这次主要是测试在dpdk方案下,ineedle的处理包的性能. 发包工具: 使用立永当时写的一个发包工具:linux_pcap 做法:大概是从网上抓取了一些数据包,将源ip替换为随即ip,sip替换为 ...
- delphi 安装.dpk;package
打开.dpk,若要将包直接安装在delphi的默认安装目录下(D:\Program Files (x86)\Borland\Delphi7\Projects\Bpl), 可清除,点击options打开 ...
- 新版Microsoft Azure Web管理控制台 - Microsoft Azure New Portal - (2)
前文我们提到在Resource Manager模式中,虚拟机默认不再与云服务对应,也不再有类似xxx.cloudapp.net的二级域名.在Resource Manager模式中,虚拟机的网卡.公共I ...
- z-index堆叠规则
一.z-index z-index用来控制元素重叠时堆叠顺序. 适用于:已经定位的元素(即position:relative/absolute/fixed). 一般理解就是数值越高越靠上,好像很简单, ...
- Bubble Sort [ASM-MIPS]
# Program: Bubble sort # Language: MIPS Assembly (32-bit) # Arguments: 5 unordered numbers stored in ...
- 【CSS】使用CSS选择器
CCS选择器的作用是找出某类元素.以便使我们使用style元素或者外部样式表对这类元素设置样式. 1.使用CSS基本选择器 有些选择器使用起来非常简单,我们把这部分选择器称为基本选择器(basic s ...
- sql中in和exists效率问题 转自百度知道
in和existsin 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询. 如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询 ...
- HTML标签----图文详解
国庆节快乐,还在加班的童鞋,良辰必有重谢! 本文主要内容 头标签 排版标签:<p> <br> <hr> <center> ...
- POJ1523 SPF[无向图割点]
SPF Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 8139 Accepted: 3723 Description C ...
- ural 1208 Legendary Teams Contest
题意描述:给定K支队伍,每队三个队员,不同队伍之间队员可能部分重复,输出这些队员同时能够组成多少完整的队伍: DFS,利用DFS深度优先搜索,如果该队所有队员都没有被访问过,那么将该队计入结果,再去选 ...