Điểm:
1300
Thời gian:
1.0s
Bộ nhớ:
512M
Input:
bàn phím
Output:
màn hình
Bạn được cho một số nguyên \(n\). Ở mỗi bước, bạn có thể trừ \(n\) đi một lượng bằng một trong các chữ số của nó.
Cần bao nhiêu bước để làm cho \(n\) bằng \(0\)?
Input
- Gồm một dòng duy nhất chứa số nguyên \(n\).
Output
- In ra một số nguyên duy nhất là số bước tối thiểu cần dùng.
Constraints
- \(1 \leq n \leq 10 ^ 6\)
Example
Sample input
27
Sample output
5
Note
Một giải pháp tối ưu là \(27 \to 20 \to 18 \to 10 \to 9 \to 0\).
Bình luận
include <bits/stdc++.h>
using namespace std;
int main() {
string s; long long d=0;
cin >> s;
long long max_length = stoll(s);
while (max_length > 0) {
long long check = 0;
for (char c : s) {
check = max(check, static_cast<long long>(c - '0'));
}
max_length -= check;
s = to_string(max_length);
d++;
}
}
13 bình luận nữa