Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tìm số thứ M có tổng chữ số lặp lại bằng N trong C++


Cho hai số dương N và M. Nhiệm vụ: tìm số thứ M mà tổng chữ số lặp lại (cho đến khi còn 1 chữ số) bằng N.

Mô tả: Tìm số thứ M có tổng chữ số lặp lại bằng N.

Ví dụ:

Đầu vào: N = 4, M = 6

Đầu ra: 49

Phương pháp giải

Cách đơn giản: duyệt các số, đếm số có tổng chữ số = N, trả về số thứ M.

Cách tối ưu: dùng công thức: Số thứ M = (M-1)*9 + N

Chương trình minh họa

Ví dụ

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n = 4, m = 6;
    int mNumber = (m - 1) * 9 + n;
    cout << m << "-th number whose repeated sum of digits of a number is " << n << " is " << mNumber;
    return 0;
}

Kết quả

6-th number whose repeated sum of digits of a number is 4 is 49