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

หาจำนวนด้วยผลรวมของหลักโดยใช้ C++


จำนวนเต็มที่หารด้วย 2 ได้ลงตัวเป็นจำนวนคู่ ดังนั้นในบทความนี้ เราจะให้ตัวเลข n และเราต้องหาตัวเลขที่ n ด้วยจำนวนหลักที่เท่ากัน ตัวเลขห้าตัวแรกที่มีผลบวกของหลักคือ 2, 4, 6, 8 และ 11 ตัวอย่างเช่น −

Input : n = 5
Output : 11
Explanation : First 5 numbers with even sum of digits are 2, 4, 6, 8, 11 i.e 5th
number is 11.

Input : 12
Output : 24

แนวทางในการหาทางออก

ตอนนี้คุณจะได้ทราบเกี่ยวกับสองขั้นตอนที่แตกต่างกันเพื่อค้นหาวิธีแก้ไขปัญหาที่กำหนด

แนวทางที่ไร้เดียงสา

วิธีแก้ปัญหาง่ายๆ ในการค้นหาหมายเลขที่ n คือขั้นแรกให้ข้ามผ่านตัวเลขที่เริ่มจากหนึ่งแล้วตรวจสอบแต่ละหมายเลขว่าผลรวมของหลักเป็นเลขคู่หรือไม่ ถ้าใช่ ให้เพิ่มตัวนับทีละตัวจนกว่าค่าของตัวนับจะเท่ากับ n และสุดท้ายตัวเลขที่ n จะเป็นคำตอบ

แนวทางที่มีประสิทธิภาพ

วิธีที่มีประสิทธิภาพในการหาจำนวนที่ n คือโดยการตรวจสอบตัวเลขเริ่มต้นที่มีผลรวมเป็นคู่และค้นหารูปแบบเพื่อหาคำตอบ 20 ตัวเลขแรกที่มีผลรวมเป็นคู่ ได้แก่ 2, 4, 6, 8, 11, 13, 15, 17, 19, 20, 22, 24, 26, 28, 31, 33, 35, 37, 39 และ 40. 20 ตัวเลขแรกเหล่านี้ เราพบว่าหากหลักสุดท้ายของ n อยู่ระหว่าง 0 ถึง 4 ตัวเลขที่ n จะเป็น 2*n และหากตัวเลขที่ n อยู่ระหว่าง 5 ถึง 9 ตัวเลขที่ n จะเป็น ( 2* n + 1).

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
int main () {
   long long int n = 13;
   long long int result;
   // finding the last digit of n
   int last_digit = n % 10;
   // checking if last digit is between 0 and 4
   if (last_digit >= 0 && last_digit <= 4)
      result = 2 * n;
      // checking if last digit is between 5 and 9
   else
      result = (2 * n) + 1;
   cout << "nth Number with even sum of digits: " << result;
   return 0;
}

ผลลัพธ์

nth Number with even sum of digits: 26

คำอธิบายของโค้ดด้านบน

  • ค้นหาตัวเลขสุดท้ายและตรวจสอบว่าอยู่ระหว่าง 0 ถึง 4 หรือไม่ ถ้าใช่ ให้เก็บ 2*n เป็นคำตอบในตัวแปรผลลัพธ์
  • มิฉะนั้น ให้ตรวจสอบว่าหลักสุดท้ายอยู่ระหว่าง 5 ถึง 9 หรือไม่ ถ้าใช่ ให้เก็บ 2*n + 1 เป็นคำตอบในตัวแปรผลลัพธ์
  • พิมพ์ตัวเลขที่ n ด้วยจำนวนหลักที่เก็บไว้ในตัวแปรผลลัพธ์

บทสรุป

ในบทความนี้ เราได้พูดถึงการค้นหาจำนวนที่ n ด้วยจำนวนหลักคู่ ซึ่งเราสามารถแก้ปัญหานี้ได้สองวิธีที่เราเข้าใจในบทความนี้ นอกจากนี้เรายังเขียนโค้ด C++ เพื่อสร้างโปรแกรมเพื่อแก้ปัญหาเดียวกัน เราสามารถเขียนโค้ดนี้ในภาษาอื่นๆ เช่น C, java, python เป็นต้น หวังว่าบทความนี้จะเป็นประโยชน์