Câu hỏi số 99

Xem PDF



Thời gian:
Scratch 2.0s

Tác giả:
Dạng bài
Điểm: 100 (p) Thời gian: 1.5s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Rùa có rất nhiều thắc mắc trong đầu. Hôm nay Rùa đặc biệt thắc mắc đến câu hỏi số 99, với nội dung như sau:

Có một số nguyên dương \(N\), số nguyên dương nhỏ nhất có tổng các chữ số của nó bằng \(N\) là số mấy?

Input

Số nguyên dương \(N\) \((1 \leq N \leq 10^{6})\)

Output

Số nguyên dương nhỏ nhất mà có tổng các chữ của nó bằng \(N\).

Example

Test 1

Input
10
Output
19
Note
  • Số \(19\) có tổng các chữ số là \(1+9=10\). Ngoài ra còn các số khác cũng có tổng các chữ số là \(10\), ví dụ như: \(28, 37, 46, 55,...\) nhưng số \(19\) là số nhỏ nhất.

Test 2

Input
18
Output
99

Bình luận

  • danh3003 12:06 a.m. 20 Tháng 12, 2024

    Đúng là câu hỏi số 99
    Với bài này ta cần có những nhận xét:

    1. Để số tạo ra được nhỏ nhất thì nó cần ít chữ số nhất => Để có ít chữ số thì cần dùng nhiều chữ số 9 nhất
    2. Sắp xếp các chữ số theo thứ tự tăng dần thì ta sẽ có được số nhỏ nhất (Ví dụ: sắp xếp lại các chữ số của 29849 thì được số nhỏ nhất là 24899)
      => Nhận xét chung: Số cần tìm sẽ có dạng \(k99...9\) với \(k = n\) % \(9\) và có \(n / 9\) chữ số 9
    Code cho Python
    Python
    n = int(input())
    print(int(str(n % 9) + "9" * (n // 9))) # Nếu có chữ số 0 ở đầu thì khi chuyển sang kiểu số nguyên (int) sẽ được tự động loại bỏ
    
    Code cho C++
    C++
    #include <bits/stdc++.h>
    using namespace std;
    
    int main()
    {
        int n;
        cin >> n;
        string a = ""; // Khi dùng C++ cần dùng string nếu không muốn tràn số
        if (n % 9 == 0){
            for (int i = 0; i < n / 9; i++){
                a += "9";
            }
        }else{
            a += char(int('0') + n % 9); // int('0') sẽ trả về mã ASCII của '0' và khi cộng thêm n % 9 sẽ được mã ASCII của n % 9
            for (int i = 0; i < n / 9; i++){
                a += "9";
            }
        }cout << a;
        return 0;
    }
    

    Lưu ý

    Không được chép code dưới mọi hình thức! Nếu không thì sẽ có thể dẫn đến khoá tài khoản!

    • 8 bình luận nữa