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
tongSoNguyen
vừ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ếnstr
lư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!