CSES - Removing Digits | Loại bỏ chữ số

Xem PDF

Đ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

  • Huycodengu 9:40 p.m. 14 Tháng 12, 2024

    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++;
    }

    cout << d << endl;
    return 0;
    

    }

    • 13 bình luận nữa