ในปัญหานี้ เราได้รับตัวเลขบวกสองตัว N และ M หน้าที่ของเราคือ ค้นหาตัวเลข M-th ซึ่งผลรวมของตัวเลขซ้ำกันคือ N
คำอธิบายปัญหา: ในที่นี้ เราต้องหาเลข M ที่ผลรวมของหลักจนผลรวมกลายเป็นหลักเดียวเท่ากับ N
มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน
ป้อนข้อมูล: N =4 M =6
ผลลัพธ์: 49
แนวทางการแก้ปัญหา
วิธีแก้ปัญหาง่ายๆ คือ การหาตัวเลขทั้งหมดและนับจำนวนที่มีผลรวมของหลักเป็น N และส่งกลับตัวเลขที่ m
อีกวิธีในการแก้ปัญหาคือการใช้สูตรหาเลข M-th ซึ่งผลรวมของหลักเท่ากับ N
เลข M-th =(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