Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm số thứ M có tổng các chữ số lặp lại của một số là N trong C ++

Trong bài toán này, chúng ta được cho hai số dương N và M. Nhiệm vụ của chúng ta là tìm số thứ M có tổng các chữ số lặp lại của một số là N.

Mô tả sự cố: Ở đây, chúng ta cần tìm số thứ M có tổng các chữ số cho đến khi tổng trở thành một chữ số bằng N.

Hãy lấy một ví dụ để hiểu vấn đề,

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

Đầu ra: 49

Phương pháp tiếp cận giải pháp

Một giải pháp đơn giản của vấn đề là tìm tất cả các số và đếm số có tổng các chữ số là N và trả về số thứ m.

Một giải pháp khác cho vấn đề là sử dụng công thức để tìm số thứ M có tổng các chữ số bằng N,

Số thứ M =(m-1) * 9 + N

Chương trình minh họa hoạt động của giải pháp của chúng tôi,

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

Đầu ra

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