#3489: 請問錯在哪邊


boy10016863 (慢慢)


  1. /**********************************************************************************/  
  2. /*  Problem: a006 "一元二次方程式"                                         */  
  3. /*  Language: C++                                                                 */  
  4. /*  Result: NA (score:80) on ZeroJudge                                            */  
  5. /*  Author: boy10016863 at 2010-02-27 18:27:58                                    */  
  6. /**********************************************************************************/  
  7.   
  8. #include <cstdlib>   
  9. #include <iostream>   
  10. #include <math.h>   
  11. using namespace std;   
  12.   
  13. int main(int argc, char *argv[])   
  14. {   
  15.  double a,b,c,m;   
  16.  double x,y;   
  17.  while(cin >> a){   
  18.       cin >> b;   
  19.       cin >> c;   
  20.       m=(b*b)-(4*a*c);   
  21.       x=(sqrt(m)-b)/2*a;   
  22.       y=(-sqrt(m)-b)/2*a;   
  23.  if(m>=0)   
  24.    if(x==y)   
  25.      cout << "Two same roots x=" << x << endl;   
  26.    else  
  27.      cout << "Two different roots x1=" << x << " , x2=" << y << endl;   
  28.  else  
  29.      cout << "No real root" << endl;   
  30.  a=0;   
  31.  b=0;   
  32.  c=0;   
  33.  m=0;}   
  34.     system("PAUSE");   
  35.     return EXIT_SUCCESS;   
  36.   
  37. }   

本題目共 5 個測試點,您的程式共通過 4 個測試點。(score:80)
獲得部分分數 80 分。
錯誤訊息如下:

*** 第 1 點 (20%):AC (8ms, 2.4MB)

*** 第 2 點 (20%):AC (8ms, 2.4MB)

*** 第 3 點 (20%):AC (8ms, 2.4MB)

*** 第 4 點 (20%):AC (8ms, 2.4MB)

*** 第 5 點 (20%):WA (line:1)
您的答案為: Two same roots x=-4
正確答案為: Two same roots x=-1

前面都對阿,怎麼會錯最後一個=.=?

#3492: Re:請問錯在哪邊


magrady (元元)


  1. /**********************************************************************************/  
  2. /*  Problem: a006 "一元二次方程式"                                         */  
  3. /*  Language: C++                                                                 */  
  4. /*  Result: NA (score:80) on ZeroJudge                                            */  
  5. /*  Author: boy10016863 at 2010-02-27 18:27:58                                    */  
  6. /**********************************************************************************/  
  7.   
  8. #include    
  9. #include    
  10. #include    
  11. using namespace std;   
  12.   
  13. int main(int argc, char *argv[])   
  14. {   
  15.  double a,b,c,m;   
  16.  double x,y;   
  17.  while(cin >> a){   
  18.       cin >> b;   
  19.       cin >> c;   
  20.       m=(b*b)-(4*a*c);   
  21.       x=(sqrt(m)-b)/2*a;   
  22.       y=(-sqrt(m)-b)/2*a;   
  23.  if(m>=0)   
  24.    if(x==y)   
  25.      cout << "Two same roots x=" << x << endl;   
  26.    else  
  27.      cout << "Two different roots x1=" << x << " , x2=" << y << endl;   
  28.  else  
  29.      cout << "No real root" << endl;   
  30.  a=0;   
  31.  b=0;   
  32.  c=0;   
  33.  m=0;}   
  34.     system("PAUSE");   
  35.     return EXIT_SUCCESS;   
  36.   
  37. }   

本題目共 5 個測試點,您的程式共通過 4 個測試點。(score:80)
獲得部分分數 80 分。
錯誤訊息如下:

*** 第 1 點 (20%):AC (8ms, 2.4MB)

*** 第 2 點 (20%):AC (8ms, 2.4MB)

*** 第 3 點 (20%):AC (8ms, 2.4MB)

*** 第 4 點 (20%):AC (8ms, 2.4MB)

*** 第 5 點 (20%):WA (line:1)
您的答案為: Two same roots x=-4
正確答案為: Two same roots x=-1

前面都對阿,怎麼會錯最後一個=.=?


y=(-sqrt(m)-b)/2*a;