002 : 일위안 이차 방정식의 뿌리를 찾아

총 시간 제한 : 

1000MS
 
메모리 제한 : 
65536kB
기술

화학식 X1 사용 = (-b + SQRT (B * B-4 * A * C)) / (2 * A), X2 = (-b - SQRT (B * B-4 * A * C)) / (2 * a) 이차 방정식 AX 발견 2 A가 0이 아닌 것을 특징으로 루트 + BX + C = 0.

기입
입력 라인 세 부동 소수점 수 (그들 사이의 공간에 의해 분리 된) A, B, C는 각각 방정식 AX 이루어지는 2  계수 + BX + C = 0.
수출
방정식의 해법을 지시를 출력 라인.
만약 B (2)  = A * C * 4 개의 실제 뿌리가 동일한 출력 형식 :. X1 = X2 = ....
ㄴ 경우 2  .> A * C * 4 개의 실제 뿌리, 출력 형식과 동일하지 않다 : X1 = ...; X2 = ... , 여기서 X1> X2.
ㄴ 경우 2  . 허수 부, 즉 계수의 허수 부분 허부 같다 X1 및 X2보다 큰 - X2는 = 실부, X1 = I + 허수 부는의 실수 부분은 <C * A * 4 개의 상상의 뿌리 출력 거기 계수는 실수 부가 0이 생략 될 수있다. 리얼 = -b / (2 * A) , 허수 부 = SQRT (4 * A * CB * B) / (A * 2)

모든 실수 부 다섯 소수점 정확한 요구가, 기호 숫자 사이에는 공백이 없습니다.
샘플 입력
입력 샘플 1 
1.0 2.0 8.0 

샘플 입력 2 
1 1 0
샘플 출력
. 샘플 출력 한 
X1 = -1.00000 + 2.64575i; X2 = -1.00000-2.64575i 

샘플 출력이 
X1 = 0.00000 + 1.00000i; X2 = 0.00000-1.00000i
1 #INCLUDE <iostream>
 2 #INCLUDE <math.h>
 3 #INCLUDE <cmath>
 4  하여  공간을 성병;
5  
6  INT 의 main () {    
 7       A = 1.0 , B = 2.0 , C = 8.0 ;
8       X1 = 0.0 , X2 = 0.0 ;
9       EPS = 0.000001는 ;
10      // CIN 사항 >> >> >> B C; 
11      는 scanf ( " % LF % LF % LF ' , A, 및 B, 및 C);
12      TMP = B * B - 4 * A * C;
13      의 경우 (TMP <EPS && TMP> - EPS) {
 14          의 printf ( " X1 = X2 = % 5F. " (- b) / ( 2 * A) + EPS);
15      } 다른  경우 (TMP> EPS) {
 16          , X1 = (- B + SQRT (TMP)) / ( 2 * A);
17          × 2 = (- B-SQRT (TMP)) / ( 2 * A) + EPS;
18          의 경우 ((X1-X2)> EPS) {
 19              의 printf ( " X1 = % 5F;.. X2 = % 5F " , X1 + EPS, X2 + EPS);
20          } 다른 {
 21              의 printf ( " X1 = % 5F;.. X2 = % 5F ' , X2 + EPS, X1 + EPS);
22          }
 23      } 다른 {
 24          의 printf ( " X1 = % 5F + % 5fi;.... X2 = 5F % - % 5fi " ,
 25          (-b) / ( 2 * A) + EPS, SQRT (-tmp) / ( 2 * A) EPS + (- b) / ( 2 * A) + EPS, SQRT (-tmp) / ( 2 * A) + EPS);
26  
27      }
 28  
29  
30  
31  
32  복귀  0 ;
33 }

 

추천

출처www.cnblogs.com/geyang/p/12329708.html