游客 Signup | Login
中文 | En

1136 - C语言4.11

求方程式ax2+bx+c=0的实根。

Input

三个用空格隔开的整数a、b、c,保证a不为0,且b2-4ac>0。

Output

输出方程式ax2+bx+c=0的两个实根。所有的实数输出请使用C语言的默认舍入方式保留4位小数,注意行尾输出换行。

Examples

Input

1 3 2

Output

-2.0000 -1.0000

Solution C

#include<stdio.h>
int main(){int a,b,c;
	int disc;
	double p1,p2;
	scanf("%d %d %d",&a,&b,&c);
	if(a!=0){
		disc=b*b-4*a*c;
		p1=-b/(2.0*a);
			p2=sqrt(disc)/(2.0*a);
			printf("%.4lf %.4lf\n",p1-p2,p1+p2);
		}
return 0;}

Solution C++

#include <stdio.h>
#include <math.h>
int main() {
	int a, b, c, delta;
	double ans0, ans1, sqrt_delta;
	scanf("%d %d %d", &a, &b, &c);
	/* 计算delta的值(b*b-4*a*c) */
	delta = b * b - 4 * a * c;
	sqrt_delta = sqrt(delta);
	ans0 = (-b - sqrt_delta) / (2.0 * a);
	ans1 = (-b + sqrt_delta) / (2.0 * a);
	printf("%.4f %.4f\n", ans0, ans1);
	return 0;
}

Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题