Đây là bài toán phức tạp hơn bạn nghĩ. Vì một số nguyên có thể chứa nhiều chữ số, việc tìm tổng các số chẵn hoặc lẻ trong số này yêu cầu phải xử lý mỗi chữ số một cách độc lập.
Dưới đây là một thuật toán tổng quát để giải quyết bài toán này:
- Khởi tạo biến tổng bằng 0.
- Chuyển số nguyên thành một chuỗi ký tự.
- Sử dụng vòng lặp để lặp qua từng ký tự trong chuỗi số.
- Kiểm tra nếu ký tự hiện tại là số chẵn (tức là chia hết cho 2) hoặc số lẻ (không chia hết cho 2) và cộng vào biến tổng tương ứng.
- Trả về giá trị biến tổng.
Dưới đây là ví dụ code Java minh họa cho bài toán tìm tổng các số chẵn hoặc lẻ trong một số nguyên:
public class Main {
public static void main(String[] args) {
int n = 123456; // Số nguyên cần tính tổng các số chẵn hoặc lẻ
int sumEven = 0; // Biến tính tổng các số chẵn
int sumOdd = 0; // Biến tính tổng các số lẻ
// Chuyển số nguyên thành chuỗi ký tự
String str = Integer.toString(n);
// Lặp qua từng ký tự trong chuỗi số
for (int i = 0; i < str.length(); i++) {
// Chuyển ký tự thành số nguyên
int digit = Integer.parseInt(Character.toString(str.charAt(i)));
// Nếu ký tự hiện tại là số chẵn, cộng vào tổng các số chẵn
if (digit % 2 == 0) {
sumEven += digit;
}
// Nếu ký tự hiện tại là số lẻ, cộng vào tổng các số lẻ
else {
sumOdd += digit;
}
}
// In kết quả tổng các số chẵn và tổng các số lẻ
System.out.println("Tổng các số chẵn là: " + sumEven);
System.out.println("Tổng các số lẻ là: " + sumOdd);
}
}
Lưu ý rằng thuật toán này chỉ đúng với trường hợp số nguyên dương. Nếu có cả số nguyên âm bạn cần đổi sang số nguyên dương trước khi thực hiện thuật toán trên.