Cho số tự nhiên N. Bằng cách giữ nguyên hoặc xóa đi một số chữ số liên tiếp của N (nhưng không xóa hết) ta nhận được một số mới, nếu N được chia thành 2 phần thì số mới được ghép từ hai phần này và giữ nguyên thứ tự.
Yêu cầu: Hãy xác định các cách xóa như trên để số N mới sau khi xóa chia hết cho 3. Lưu ý là hai vị trí khác nhau sẽ tạo ra hai cách xóa khác nhau. Số N giữ nguyên được gọi là một cách xóa.
Dữ liệu vào: Đọc từ file CAU3.INP chứa số nguyên dương N (không quá 105 chữ số)
Dữ liệu ra: Ghi ra file CAU3.OUT một số nguyên là số cách xóa tìm được
CAU3.INP CAU3.UOT Giải thích ví dụ
1005 4 Các số mới là: 1005, 105, 105, 15
2009 3 Các số mới là: 009. 09, 9
Ràng buộc:
Có 50% test có số chữ số của N < 300
Có 25% test có số chữ số của N < 104
Có 25% test có số chữ số của N < 105
Giả thiết A là số nguyên dương. Số nguyên B là tổng của A với các chữ số của nó. A được gọi là gốc của B. Ví dụ A = 245, khi đó B = 245 + 2 + 4 + 5 = 256. Như vậy gốc của 256 là 245. Có những số không có gốc và có số lại có nhiều gốc. Ví dụ số 216 có 2 gốc là 198 và 207.
Yêu cầu: Cho số nguyên B (B 10100), hãy tìm gốc nhỏ nhất của nó. Nếu B không có gốc thì đưa ra số 0.
Dữ liệu vào:Cho trong tệp CAU4.INP có cấu trúc như sau:
Một dòng duy nhất ghi số nguyên dương B
Dữ liệu ra:Ghi ra tệp CAU4.OUT:
Một dòng duy nhất ghi đáp số bài toán
Ví dụ:
CAU4.INP CAU4.OUT
216 198
làm bằng c++ nha chứ tí nx mình nộp rồi