จำนวนเต็มที่หารด้วย 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 เป็นต้น หวังว่าบทความนี้จะเป็นประโยชน์