01/10/2018, 16:01
In ra cách phân tích tổng các chữ số của 1 số nguyên như thế nào?
Viết chương trình tính tổng các chữ số của một số nguyên n. (Ví dụ: 1234 = 10). Sau đó phân tích ra tổng số đó và in ra kết quả tổng số đó. Ví dụ: 1234 = 1 + 2 + 3 + 4 = 10
private static Scanner sc;
private static int n;
public static void main(String[] args) {
nhap();
xuat();
}
private static void nhap() {
sc = new Scanner(System.in);
System.out.println("Nhap so: ");
n = sc.nextInt();
}
private static void xuat() {
System.out.println("Tong chu so ban vua nhap: ");
System.out.print(n + " = " + tongSoNguyen(n) + " ");
}
private static int tongSoNguyen(int n) {
int sum = 0;
int x = 10;
do {
sum += n % x;
n = n / x;
} while (n > 0);
return sum;
}
}
Mình in ra được tổng số rồi : 1234 = 10, còn phân tích tổng số đó thì làm thế nào các bạn nhỉ?
Bài liên quan





In ra n % x là được.
P/s: không cần đặt biến x = 10 đâu, khá thừa.
Để phương thức
tongSoNguyenvừa tính tổng, vừa in ra kết quả sẽ tốt hơn tại không thể tách đc 2 việc tính tổng với in phép tính. Tạo một biếnsumđể lưu giá trị tổng, biếnstrlưu chuỗi phép tính.Nếu lấy phần dư thì sẽ lấy dần từ hàng đơn vị -> chục -> trăm -> … mà phép tính phải in ngược lại => mỗi hàng lấy ra lưu vào viến
chuSo. Hàng đơn vị đầu tiên lưu luôn vàostr, các hàng sau thìchuSo + " + " + str, ví dụ 4 => 3 + 4 => 2 + 3 + 4 => 1 + 2 + 3 + 4,…Cám ơn các bạn đã phản hồi và chỉ mình rõ cái đang thắc mắc!