计算二次方程根

#include <cmath>#include <iostream>using namespace std;

template<typename T>
bool OutputRoots(const T& a,const T& b,const T& c)
{
    if(0 == a)
    {
        cout << "被除数不能为0!" << endl;
        return -1;
    }
    T d = b*b -4*a*c;
    if(d > 0)   // 两个实根
    {
        float sqrtd = sqrt(d);
        cout << "There are two real roots "
             << (-b+sqrtd)/(2*a) << " and "
             << (-b-sqrtd)/(2*a) << endl;
    }
    else if(d == 0) // 两个根据相等
    {
        cout << "There is only one distinct root "
             << -b/(2*a) << endl;
    }
    else // 两个复根
    {
        cout << "The roots are complex " << endl
             << "The real part is "
             << -b/(2*a) << endl
             << "The imaginary part is "
             << sqrt(-d)/(2*a) << endl;
    }
    return true;
}

int main()
{
    OutputRoots(0,-5,6);
    return 0;
}
				
时间: 2024-08-26 14:04:40

计算二次方程根的相关文章

一元二次方程根的分布【中级和高阶辅导】

$\color{Blue}{一元二次方程根的分布}$ 在高中数学一元二次不等式教学中,经常用到"三个二次"的关系解题,如求解一元二次方程根的分布问题. 1. 什么是"三个二次"的关系? 他们指的是一元二次函数\(f(x)=ax^2+bx+c(a\neq 0)\),和其对应的一元二次方程\(ax^2+bx+c=0(a\neq 0)\),以及其对应的一元二次不等式\(ax^2+bx+c>0(<0,\leq 0,\ge 0)(a\neq 0)\),由于这三个数

输出成绩级别&amp;&amp;判断一元二次方程根的情况

1.输入姓名.成绩,输出级别 80-100 优秀,60-79 一般,0-59 继续努力 while (true) { Console.Write("姓名:"); Console.ReadLine(); Console.Write("成绩:"); int s = int.Parse(Console.ReadLine()); if (s >= 80 && s <= 100) { Console.WriteLine("优秀"

leetcode 129. 求根到叶子节点数字之和

给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字. 例如,从根到叶子节点路径 1->2->3 代表数字 123. 计算从根到叶子节点生成的所有数字之和. 说明: 叶子节点是指没有子节点的节点. 示例 1: 输入: [1,2,3] 1 / 2 3 输出: 25 解释: 从根到叶子节点路径 1->2 代表数字 12. 从根到叶子节点路径 1->3 代表数字 13. 因此,数字总和 = 12 + 13 = 25. 示例 2: 输入: [4,9

LeetCode 129. 求根到叶子节点数字之和(Sum Root to Leaf Numbers)

题目描述 给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字. 例如,从根到叶子节点路径 1->2->3 代表数字 123. 计算从根到叶子节点生成的所有数字之和. 说明: 叶子节点是指没有子节点的节点. 示例 1: 输入: [1,2,3] 1 / 2 3 输出: 25 解释: 从根到叶子节点路径 1->2 代表数字 12. 从根到叶子节点路径 1->3 代表数字 13. 因此,数字总和 = 12 + 13 = 25. 示例 2: 输入:

题解 poj3585 Accumulation Degree (树形dp)(二次扫描和换根法)

写一篇题解,以纪念调了一个小时的经历(就是因为边的数组没有乘2 phhhh QAQ) 题目 题目大意:找一个点使得从这个点出发作为源点,流出的流量最大,输出这个最大的流量. 以这道题来介绍二次扫描和换根法 作为一道不定根的树形DP,如果直接对每个点进行DP,可能时间会炸掉 但是,优秀的二次换根和扫描法可以再O(n^2)内解决问题. 二次扫描的含义:(来自lyd 算法竞赛进阶指南) 第一次扫描:任选一个节点为根节点(我会选1)在树上进行树形DP,在回溯时,从儿子节点向父节点(从底向上)进行状态转移

历届试题 合根植物

问题描述 w星球的一个种植园,被分成 m * n 个小格子(东西方向m行,南北方向n列).每个格子里种了一株合根植物. 这种植物有个特点,它的根可能会沿着南北或东西方向伸展,从而与另一个格子的植物合成为一体. 如果我们告诉你哪些小格子间出现了连根现象,你能说出这个园中一共有多少株合根植物吗? 输入格式 第一行,两个整数m,n,用空格分开,表示格子的行数.列数(1<m,n<1000). 接下来一行,一个整数k,表示下面还有k行数据(0<k<100000) 接下来k行,第行两个整数a,

求根到叶子节点数字之和

给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字. 例如,从根到叶子节点路径 1->2->3 代表数字 123. 计算从根到叶子节点生成的所有数字之和. 说明: 叶子节点是指没有子节点的节点. 示例 1: 输入: [1,2,3] 1 / \ 2 3输出: 25解释:从根到叶子节点路径 1->2 代表数字 12.从根到叶子节点路径 1->3 代表数字 13.因此,数字总和 = 12 + 13 = 25.示例 2: 输入: [4,9,0,5

C# 10 总复习

数据类型--变量与常量--运算符与表达式--语句(if,for)--数组--函数--结构体 一.数据类型: (一)内建类型 整型(int short long byte uint ushort ulong sbyte),浮点(double float decimal),布尔(bool),字符(char) 对于整型和浮点型都有个ToString("格式化字符串"): #——任意一个数字.有的话就显示,没有就不显示. 0——必须有一个数字,没有的话就补零. .——小数点 ,——千位分隔.

C#。总结

数据类型--变量与常量--运算符与表达式--语句(if,for)--数组--函数--结构体一.数据类型: (一)内建类型 整型(int short long byte uint ushort ulong sbyte),浮点(double float decimal),布尔(bool),字符(char) 对于整型和浮点型都有个ToString("格式化字符串"): #——任意一个数字.有的话就显示,没有就不显示. 0——必须有一个数字,没有的话就补零. .——小数点 ,——千位分隔. (