01/10/2018, 12:04

Bài tập C++ trên hackerank

Task
Given an integer,n , perform the following conditional actions:

If N is odd, print Weird
If N is even and in the inclusive range of to N, print Not Weird
If N is even and in the inclusive range of to N, print Weird
If N is even and greater than N, print Not Weird
Complete the stub code provided in your editor to print whether or not N is weird.

Bài tập khá dễ nhưng khi code thì mình lỗi ngay
Code của mình
int N;
cin >> N;

if (N % 2 == 0) {
	if (N>20) {
		cout << "Not Weird" << endl;
	}
	if ( 2 <= N <= 5) {
		cout << "Weird" << endl;

	}
	if (6 <= N <= 20)
		cout << "Not Weird" << endl;
}
else {
	cout << "Weird" << endl;
}
system("pause");
return 0;

}
Code đúng
int main(){
int N;
cin >> N;

if (N%2 == 0) {
	if (N>20) {
		cout << "Not Weird" << endl;
	}
	if (N>=2 && N <= 5) {
		cout << "Weird" << endl;

	}
	if (6 >= N && N <= 20)
		cout << "Not Weird" << endl;
}
else {
	cout << "Weird" << endl;
}
system("pause");
return 0;

}
Tại sao nó lại khác nhau nhỉ theo toán mình đã được học cấp 3 thì 3 < N < 5 cũng bằng với 3 < N và N <5 mà nhỉ.

rogp10 viết 14:20 ngày 01/10/2018

3 < N < 5 tức là (3 < N) < 5, mà 1 biểu thức so sánh trả về 0 hay 1 nên luôn đúng.

Jacky Nguyen Anh viết 14:19 ngày 01/10/2018

cảm ơn bạn nhiều nhé

Bài liên quan
0