Quay lại danh sách thử thách
Dễ 0 đã giải Tỷ lệ chấp nhận 0%

Số lẻ, số chẵn, hoặc không phải

Phân loại một số là số nguyên lẻ, số nguyên chẵn, hoặc không phải cả hai.

Bạn sẽ học được gì

  • Kiểm tra chẵn lẻ bằng % 2
  • Phát hiện giá trị không phải số nguyên
  • Sắp xếp điều kiện đúng thứ tự

Đề bài

Xem bản gốc (English)

Các số nguyên chia hết cho 2 là số chẵn; các số nguyên còn lại là số lẻ. Một số có phần thập phân thì không phải cả số lẻ lẫn số chẵn. Số không là số chẵn, và các số nguyên âm cũng tuân theo quy tắc này.

Cài đặt hàm number_parity(number).

Đầu vào

number: Số cần phân loại.

Đầu ra

Trả về odd, even, hoặc neither dưới dạng chữ thường.

Ràng buộc

−1,000,000 ≤ number ≤ 1,000,000. Đầu vào là hữu hạn và có tối đa hai chữ số thập phân.

Ví dụ

Ví dụ 1
Đầu vào:
number = 14

Kết quả mong đợi:
expected = "even"
Đầu vào:
double number = 14;

Kết quả mong đợi:
std::string expected = "even";
Đầu vào:
double number = 14;

Kết quả mong đợi:
string expected = "even";

Giải thích

14 = 2 × 7, nên chia hết cho 2.

Ví dụ 2
Đầu vào:
number = 3.5

Kết quả mong đợi:
expected = "neither"
Đầu vào:
double number = 3.5;

Kết quả mong đợi:
std::string expected = "neither";
Đầu vào:
double number = 3.5;

Kết quả mong đợi:
string expected = "neither";

Giải thích

3.5 có phần thập phân, nên không phải số nguyên lẻ hay số nguyên chẵn.

Hướng tiếp cận

Hãy tự thử trước, sau đó mở từng gợi ý một.

Gợi ý 1

Trước hết hãy xác định đầu vào có phải số nguyên hay không, vì số thập phân không phải chẵn cũng không phải lẻ.

Gợi ý 2

Với số nguyên, tính chẵn lẻ phụ thuộc vào việc chia 2 có dư hay không.

Gợi ý 3

Nhớ rằng 0 là số chẵn, và số nguyên âm tuân theo cùng quy tắc như số dương.

Độ phức tạp mong đợi

thời gian O(1), bộ nhớ phụ O(1)

Tham khảo

Thử thách này đã được điều chỉnh cho CodeUtility. Hãy làm theo đề bài và các ràng buộc ở trên.

Học hỏi từ người khác

Giải pháp cộng đồng

Chưa có giải pháp nào được chia sẻ. Hãy giải thử thách này để đăng giải pháp đầu tiên.