Mình ra tổng cộng 210 số. Ta gọi số cần tìm là abcd a : 9 -> 3 b : 8 -> 2 c : 7 -> 1 d : 6 -> 0 Ta thiết lập mọt bảng phương án từ 1 -> 4 chữ số. Ta sẽ đi tính từ 1 chữ số -> 4 chữ số * Nếu số cần tìm chỉ có 1 chữ số là d. Gọi di là số lượng số thỏa mãn có 1 chữ số và có i giá trị của d đang được xét. Rất đơn giản, ta có một bảng phương án sau d1 = 1, d2 = 2, d3 = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7 * Nếu số cần tìm có 2 chữ số là cd. Gọi ci là số lượng số thỏa mãn có 2 chữ số cd và có i giá trị của c đang được xét. _ Với 1 giá trị c đang được xét (1) thì d có 1 giá trị (0) -> có 1 số thỏa mãn _ Với 2 giá trị c đang được xét (1,2) thì d có d1 + d2 = 1 + 2 = 3 số thỏa mãn _ Với 3 giá trị c đang được xét (1,2,3) thì d có d1 + d2 + d3 = 1 + 2 + 3 = 6 số thỏa mãn Như vậy, ta lập được một bảng phương án của c như sau c1 = 1, c2 = 3, c3 = 6, c4 = 10, c5 = 15, c6 = 21, c7 = 28 * Nếu số cần tìm có 3 chữ số là bcd. Gọi bi là số lượng số thỏa mãn có 3 chữ số và có i giá trị của b đang được xét. Lập luận tương tự thì bi sẽ được tính = tổng các cj (j từ 1 -> i) Như vậy, ta lập được bản phương án của b như sau: b1 = 1, b2 = 4, b3 = 10, b4 = 20, b5 = 35, b6 = 56, b7 = 84 * Nếu số cần tìm có 4 chữ số là abcd. Gọi ai là số lượng số thỏa mãn có 4 chữ số và có i giá trị của a đang được xét. Bảng phương án như sau: a1 = 1, a2 = 5, a3 = 15, a4 = 35, a5 = 70, a6 = 126, a7 = 210 Như vậy : Kết quả là a7 là 210 số. Cách này có thể áp dụng được với số tự nhiên có n chữ số. Trong tin học, về lĩnh vực lập trình thì cách này gọi là quy hoạch động. Đó là ta chia nhỏ một bài toán lớn thành các bài toán con và tính nghiệm của chúng. Các bài toán con này lại chia nhỏ tiếp thành các bài toán con nhỏ hơn như vậy cho đến khi tìm được những nghiệm đã được giải sẵn. Sau đó ta đi tổng hợp tất cả các nghiệm lại để giải một bài toán lớn hơn. Như bài vừa rồi mình chia số 4 chữ số thành 3 chữ số, rồi số 3 chữ số lại chia tiếp thành 2 chữ số ......... Cách này dễ hiểu và cũng dễ suy nghĩ, mong bạn có thể giải được nhiều bài có liên quan đến công thức truy hồi này hơn như thế. Thân!!!
Mình ra tổng cộng 210 số. Ta gọi số cần tìm là abcd a : 9 -> 3 b : 8 -> 2 c : 7 -> 1 d : 6 -> 0 Ta thiết lập mọt bảng phương án từ 1 -> 4 chữ số. Ta sẽ đi tính từ 1 chữ số -> 4 chữ số * Nếu số cần tìm chỉ có 1 chữ số là d. Gọi di là số lượng số thỏa mãn có 1 chữ số và có i giá trị của d đang được xét. Rất đơn giản, ta có một bảng phương án sau d1 = 1, d2 = 2, d3 = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7 * Nếu số cần tìm có 2 chữ số là cd. Gọi ci là số lượng số thỏa mãn có 2 chữ số cd và có i giá trị của c đang được xét. _ Với 1 giá trị c đang được xét (1) thì d có 1 giá trị (0) -> có 1 số thỏa mãn _ Với 2 giá trị c đang được xét (1,2) thì d có d1 + d2 = 1 + 2 = 3 số thỏa mãn _ Với 3 giá trị c đang được xét (1,2,3) thì d có d1 + d2 + d3 = 1 + 2 + 3 = 6 số thỏa mãn Như vậy, ta lập được một bảng phương án của c như sau c1 = 1, c2 = 3, c3 = 6, c4 = 10, c5 = 15, c6 = 21, c7 = 28 * Nếu số cần tìm có 3 chữ số là bcd. Gọi bi là số lượng số thỏa mãn có 3 chữ số và có i giá trị của b đang được xét. Lập luận tương tự thì bi sẽ được tính = tổng các cj (j từ 1 -> i) Như vậy, ta lập được bản phương án của b như sau: b1 = 1, b2 = 4, b3 = 10, b4 = 20, b5 = 35, b6 = 56, b7 = 84 * Nếu số cần tìm có 4 chữ số là abcd. Gọi ai là số lượng số thỏa mãn có 4 chữ số và có i giá trị của a đang được xét. Bảng phương án như sau: a1 = 1, a2 = 5, a3 = 15, a4 = 35, a5 = 70, a6 = 126, a7 = 210 Như vậy : Kết quả là a7 là 210 số. Cách này có thể áp dụng được với số tự nhiên có n chữ số. Trong tin học, về lĩnh vực lập trình thì cách này gọi là quy hoạch động. Đó là ta chia nhỏ một bài toán lớn thành các bài toán con và tính nghiệm của chúng. Các bài toán con này lại chia nhỏ tiếp thành các bài toán con nhỏ hơn như vậy cho đến khi tìm được những nghiệm đã được giải sẵn. Sau đó ta đi tổng hợp tất cả các nghiệm lại để giải một bài toán lớn hơn. Như bài vừa rồi mình chia số 4 chữ số thành 3 chữ số, rồi số 3 chữ số lại chia tiếp thành 2 chữ số