Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ค้นหาหมายเลข M- ซึ่งมีผลรวมของตัวเลขซ้ำกันเป็น N ใน C++


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