Lưu ý: Tài liệu chỉ mang tính chất tham khảo, nếu có trường hợp chưa đúng đắn có thể điều chỉnh, xin cảm ơn. Bài toán: Cho hai số nguyên dương n và k. Hãy cho biết có bao nhiêu số có chữ số không vượt quá n chữ số mà tổng các chữ số đúng bằng k.
Trang 1Lưu ý: Tài liệu chỉ mang tính chất tham khảo, nếu có trường hợp chưa đúng đắn có thể điều chỉnh, xin cảm ơn.
Bài toán: Cho hai số nguyên dương n và k Hãy cho biết có bao nhiêu số có chữ số không vượt quá n chữ số mà tổng các chữ số đúng bằng k.
.INP : Gồm hai số nguyên dương ( n≤20, k <= 30)
.OUT: Số lượng số thảo mãn đề bài.
Giải thích: 4, 13, 22, 31, 40
Hường dẫn giải:
- Gọi f[n][k] là số lượng số có chữ số không vượt quá n chữ số mà tổng các chữ số đùng bằng k
-
int Tinh(){
f[0][0] = 1;
for (int i = 1; i <= n ; i ++)
for (int j = 0; j <=k ; j ++){
f[i][j] = 0;
for (int d = 0; d <= j ; d ++)
f[i][j] += f[i-1][j-d];
} return f[n][k];
}