ในปัญหานี้ เราได้รับตัวเลขบวกสองตัว 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