zoukankan      html  css  js  c++  java
  • 0037-解一元二次方程

    题目

    解一元二次方程
    难度级别:A; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B
    试题描述
    也许你还不了解什么是一元二次方程,但聪明的你小小钻研一下就会很好地掌握。形如ax^2+bx+c=0(a不为0)的关于x的方程称为一元二次方程,a,b,c为该一元二次方程的系数。输入三个数a,b,c分别表示一元二次方程的三个系数(二次项系数、一次项系数和常数项),编写程序计算并输出该方程的解的情况。
    输入
    符合题目描述要求的三个数(两两之间用一个空格分隔),依次为一元二次方程的系数。
    输出
    如果有两个不等解先小后大输出,由一个空格隔开,如果有两个相等的解只输出其中的一个数,如果无实数解就输出“No”。 
    输入示例
    1 -5 6
    输出示例
    2 3
    其他说明
    所有输入数据都在-1000到1000范围内,如果有解也在-1000到1000范围内,且输入输出均为整数。 

    分析

        先把结果存储一下,然后判断属于哪种类型,最后按要求输出。

    代码

    #include<bits/stdc++.h>
    using namespace std;
    double a,b,c;
    int main()
    {
    	cin>>a>>b>>c;
    	if(b*b-4*a*c<0) printf("No");//判断属于哪种情况并输出对应结果。
    	if(b*b-4*a*c==0) cout<<-b/(2*a);
    	if(b*b-4*a*c>0) cout<<(-b-sqrt(b*b-4*a*c))/(2*a)<<" "<<(-b+sqrt(b*b-4*a*c))/(2*a);
    	return 0;
    }
    作者:18西斯光剑
    出处:https://www.cnblogs.com/DARTH-VADER-EMPIRE/
    Copyright ©2018-2020 18西斯光剑
    All Rights Reserved.
  • 相关阅读:
    洛谷P3258 [JLOI2014]松鼠的新家
    洛谷P1306 斐波那契公约数
    bzoj4247:挂饰
    [YTU]_2354 (H 实现复数类中的加运算符重载【C++运算符重载】)
    [YTU]_2440 (C++习题 复数类--重载运算符+,-,*,/)
    [YTu]_2441 (C++习题 复数类--重载运算符2+)
    [YTu]_2439(C++习题 复数类--重载运算符+)
    10.3 重载双目运算符
    10.2.1 关于vc++不支持把类的成员函数定义为类的友元函数的处理
    10.2 运算符重载函数作为类成员函数和友元函数
  • 原文地址:https://www.cnblogs.com/DARTH-VADER-EMPIRE/p/9501682.html
Copyright © 2011-2022 走看看