Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [C] Cộng dồn chữ số tới mức k (sumOfDigitsToK)

    Cho số nguyên dương nnn và ngưỡng kkk (1≤k≤91 \le k \le 91≤k≤9). Liên tục thay nnn bằng tổng các chữ số cho đến khi n≤kn \le kn≤k. In giá trị cuối cùng.

    Ví dụ: n=9999, k=5n=9999,\ k=5n=9999, k=5. 9999→36→99999 \to 36 \to 99999→36→9 (vì 9>59 > 59>5 vẫn cộng) →9\to 9→9 (1 chữ số, vẫn >k> k>k). Quy ước: khi nnn đã là 1 chữ số mà vẫn >k> k>k thì trả về luôn (999). Vậy in 999.

    Viết hàm int sumOfDigitsToK(int n, int k).

    • Định dạng đầu vào:

      Dòng đầu TTT. TTT dòng, mỗi dòng gồm nnn và kkk (1≤n≤109, 1≤k≤91 \le n \le 10^9,\ 1 \le k \le 91≤n≤109, 1≤k≤9).

    • Ràng buộc đầu vào:

      Dừng ngay khi n≤kn \le kn≤k hoặc khi n<10n < 10n<10 và lần cộng tiếp theo không đổi.

    • Định dạng đầu ra:

      TTT dòng, mỗi dòng giá trị cuối cùng.

    Ví dụ:

    Đầu vào:

    4
    9999 5
    9999 9
    10 1
    38 9
    

    Đầu ra:

    9
    9
    1
    2

    Giải thích:

    9999→36→9>5 và 1 chữ số → 9. 9999→36→9≤9 → 9. 10→1≤1 →1. 38→11→2≤9 →2.

    Đang tải editor...