Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 반복되는 숫자의 합이 N인 M번째 숫자 찾기

<시간/>

이 문제에서는 두 개의 양수 N과 M이 주어졌습니다. 우리의 임무는 숫자의 반복되는 자릿수 합이 N인 M번째 숫자를 찾는 것입니다.

문제 설명: 여기에서 합이 한 자릿수가 될 때까지의 자릿수의 합이 N인 M번째 수를 찾아야 합니다.

문제를 이해하기 위해 예를 들어 보겠습니다.

입력: N =4 M =6

출력: 49

솔루션 접근 방식

문제의 간단한 해결책은 모든 숫자를 찾아 숫자의 합이 N인 숫자를 세고 m번째 숫자를 반환하는 것입니다.

문제에 대한 또 다른 해결책은 수식을 사용하여 자릿수의 합이 N인 M번째 숫자를 찾는 것입니다.

M번째 숫자 =(m-1)*9 + N

우리 솔루션의 작동을 설명하는 프로그램,

예시

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

출력

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