Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift
Viết chương trình giải phương trình có dạng tổng quát: ~ax^2 + bx + c = 0~.
Input
3 số nguyên ~ a, b, c ~ lần lượt là hệ số của phương trình ~ax^2 + bx + c = 0~
Giới hạn:
- ~-1000 \le a, b, c \le 1000~
Output
- Nếu phương trình vô nghiệm, in ra
NO
- Nếu phương trình có vô số nghiệm, in ra
WOW
- Nếu phương trình có nghiệm, in ra các nghiệm đã làm tròn đến chữ số thập phân thứ 2, theo thứ tự tăng dần và ngăn cách nhau bởi 1 dấu cách.
Sample
Input #1
1 2 -3
Output #1
-3.00 1.00
Bình luận
cho mình hỏi test 10 sao sai hoài vậy ta?
include <stdio.h>
include <math.h>
int main() { float a,b,c; float x,x1,x2,del; scanf("%f%f%f", &a, &b,&c); if (a==0) { if (b==0) { if (c==0) printf("WOW"); else printf("NO");} else { x=-c/(2.0b); printf("%.2f", x); }} else { del=bb-4ac; if (del<0) printf("NO"); else if (del==0) { x1=x2=-b/(2.0a); printf("%.2f",x1); } else { x1=(-b-sqrt(del))/(2.0a); x2=(-b+sqrt(del))/(2.0*a); printf("%.2f %.2f",x2,x1); } } return 0; }
bạn khai báo biến ở ngoài {} nha.
mình đã sửa như bạn nói mà cũng k đc. cứ báo lỗi test 10 thui
CODE C++ ĐÃ AC
include <bits/stdc++.h>
using namespace std;
int main ()
{
} CHO MÌNH XIN 1 VOTE
include<iostream>
include<math.h>
include<iomanip>
using namespace std; int main(){ float a,b,c; cin>>a>>b>>c; float dt=bb-(4ac); if (a==0){ if (b==0){ if(c==0){ cout<<"WOW"; }else{ cout<<"NO"; } }else{ cout<<fixed<a);
}else{
cout<<fixed<a)<<" "<<fixed<a);
}
}
}
Ai cho em hỏi là test 10 là sai ở đâu ko ạ ? :)
include <stdio.h>
include <math.h>
int main() { int a, b, c; float x, x1, x2,delta;
}
bạn thử đổi thành float a b c đi
Em nghĩ nên kiểm tra lại đối với trường hợp a=0; b=2; c=0 ạ.
cho tui hoi test 10 là gì vậy ( đang sai ở chỗ đó )
bn gửi code đi mik xem
code gửi lên bị lỗi không hiện hết bạn ạ với lại mih cũng tìm lỗi được rồi cảm ơn bạn
Cho mình hỏi test2 là gì vậy?
cho e hỏi test 4 là gì được k ạ
a=input().split(' ') a,b,c=map(int, a) if a==0: if b==0: if c==0: print('WOW') else:
print('NO') else: print('{:.2f}'.format(-c/b)) else: delta=b2-(4ac) if delta<0: print('NO') if delta==0: print('{:.2f}'.format(-b/(2a))) if delta>0: can=delta0.5 x1=(-b+can)/(2a) x2=(-b-can)/(2*a) if x1>x2: x1,x2=x2,x1 print('{:.2f}'.format(x1),'{:.2f}'.format(x2)) code này sai test5 với test7 sai ở đâu ạ
include <bits/stdc++.h>
using namespace std; int main (){ double a, b, c, delta, x1, x2; cin >> a >> b >> c; if ( a == 0 ){ if ( b == 0 ){ if ( c == 0 ){ cout <<" WOW "<< endl; } else { cout <<" NO "<< endl; } } else { cout << fixed << setprecision(2) << -c / b << endl;
} } else { delta = pow(b, 2) - ( 4 * a * c ); if ( delta > 0 ){ x1 = ( -b + sqrt( delta )) / ( 2 * a ); x2 = ( -b - sqrt( delta )) / ( 2 * a ); cout << fixed << setprecision(2) << min( x1, x2 ) <<" "<< max( x1, x2 ) << endl;
} else if ( delta == 0 ){ double xkep = -b / ( 2 * a ); cout << fixed << setprecision(2) << xkep << endl; } else { cout <<" NO "<< endl; } }
return 0; }
include <bits/stdc++.h>
using namespace std;
int main() { double delta,x1,x2,a,b,c; cin>>a>>b>>c; if(a == 0) { if(b == 0) { if (c == 0) cout<<"WOW"; else cout<<"NO"; } else cout<<fixed<b-4ac;
if(delta<0)
{
cout<<"NO";
}
else
if(delta==0)
cout<<fixed<a);
else
{
x1=((-b-sqrt(delta))/(2a));
x2=((-b+sqrt(delta))/(2a));
cout<<fixed<
cho mình hỏi case 7 test là gì vậy mn
cho em hoi test 7 la gi vay moi nguoi huuh
mọi người cho em hỏi test2 là gì vậy :<
test 10 ba số nhập vào khai báo float hoặc double là đc nhé
Mình dùng hàm giải bài này nhé!
include<bits/stdc++.h>
define FAST iosbase::syncwith_stdio(false);cin.tie(NULL); cout.tie(NULL);
using namespace std; const long long mod = 1000000007;
void hoanvi(float *x1,float *x2){ float t = *x1; *x1 = *x2; *x2= t; }
float tinhptb2(float a,float b,float c, float x1,float *x2){ // -1 la vo nghiem , 0 la vo so nghiem , 1 la co 1 nghiem,2 la co 2 no float denta; if(a==0 && b==0 && c==0){ return 0; } else if(a==0 && b==0 && c!=0){ return -1; } else if(a==0 && b!=0){ *x1 = (float)-c/b; return 1; } denta = bb - 4ac; if(denta < 0){ return -1; } else if(denta == 0){ x1 = (float)-b/(2a); return 1; } else{ x1 = (float)(-b+sqrt(denta))/(2a); x2 = (float)(-b-sqrt(denta))/(2a); return 2; } }
int main(){ FAST; float s,a,b,c; float x1,x2; scanf("%f%f%f",&a,&b,&c); s = tinhptb2(a,b,c,&x1,&x2); if(s==-1){ printf("NO"); } else if(s==0){ printf("WOW"); } else if(s==1){ printf("%.2f",x1); } else{ if(x1>x2){ hoanvi(&x1,&x2); } printf("%.2f %.2f",x1,x2); } }
Mọi người cho mình hỏi test4 với test9 là gì vậy :(((
test 10 là gì vậy ạ
Ae lưu ý trường hợp 2 nghiệm = nhau thì in ra đúng 1 nghiệm là được nhé
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace DK07GIAIptbac2 {
}
DENO::
#include <stdio.h> #include <math.h> int main(){ int a,b,c; scanf("%d %d %d",&a,&b,&c); int delta=pow(b,2)-4ac; float x1=(-b-sqrt(delta))/(2a); float x2=(-b+sqrt(delta))/(2a); if(delta>0&&a!=0){ if(x1>x2){ int tmp=x1; x1=x2; x2=tmp; } printf("%.2f %.2f",x1,x2); } else if(delta<0){ printf("NO"); } else if(a==0&&b==0){ if(c==0){ printf("WOW"); } else{ printf("NO"); } } else if(a==0&&b!=0){ printf("%.2f",(float)-c/b); } else if(delta==0&&a!=0){ printf("%.2f",(float)-b/(2*a)); }
}
a,b,c=[int(x) for x in input().split()] if a==0: if b==0: if c==0: print('WOW') else: print('NO') else: if c==0: print('0.00') else: print("{:.2f}".format(-c/b)) else: delta=b**2-4*a*c if delta <0: print('NO') elif delta==0: print("{:.2f}".format(-b/2*a)) else: x1=(-b-(delta**0.5))/(2*a) x2=(-b+(delta**0.5))/(2*a) print("{:.2f}".format(x1),"{:.2f}".format(x2))
Mọi người check hộ em code này bị lỗi logic gì không ạ ? Em bị sai ngay test đầu. Mặc dù thử test ngoài thì chuẩn.
include <stdio.h>
include <math.h>
int main() { double a, b, c; scanf("%lf " "%lf " "%lf", &a, &b, &c); if (a == 0 && b == 0) { if (c != 0) { printf("NO"); } else { printf("WOW"); } } else if (a == 0 && b != 0) { printf("%.2lf", -c / b); } else if (a != 0 && b != 0) { double denta = b * b - 4 * a * c; printf("%.2lf " "%.2lf", (-b - sqrt(denta))/(2 * a), (-b + sqrt(denta))/(2 * a)); } return 0; }
À em biết rồi, em chưa xét điều kiện denta.
mình cũng như bạn
include <bits/stdc++.h>
using namespace std;
int main() { iosbase::syncwith_stdio(false); cin.tie(NULL);
}
sai rooi
hao no
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
test 10 là j vậy ạ
trong phương trình bậc 2 chỉ có vô nghiệm, nghiệm kép hoặc có 2 nghiệm thôi chứ làm gì có vô số nghiệm ạ?
a b c = 0 thì vô số nghiệm nhé
[a = 0; b = 0; c = 0; => WOW] còn [a = 0; b = 0; c !=0; => NO]
Vô số nghiệm khi a = 0 và b = 0 bạn nhé
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Mọi người cho em hỏi làm cách nào in ra theo thứ tự tăng dần và ngăn cách nhau bởi 1 dấu cách ạ. Mọi người giải đáp thắc mắc của em được không ạ ? Nếu được, em cảm ơn ạ.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
mn ơi cho m hỏi test4 là gì vậy
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
nếu phương trình có nghiệm kép thì chỉ in ra 1 nghiệm thôi nhé
Mọi người cho mình hỏi test3 là gì vậy :>>
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.