ในบทช่วยสอนนี้ เราจะมาเรียนรู้เกี่ยวกับตัวเลขดีซีเรียมพร้อมตัวอย่าง
จำนวนที่มีผลรวมของ pow(หลัก, digitsCount) เท่ากับจำนวนที่กำหนดเรียกว่า เลขดีซีเรียม .
เรามาดูขั้นตอนในการหาว่าตัวเลขที่กำหนดเป็น เลขดีซีเรียม . หรือไม่ หรือเปล่า
-
เริ่มต้นหมายเลข
-
หาจำนวนหลักของตัวเลข
-
เริ่มต้นตัวแปรเพื่อเก็บผลรวม
-
วนซ้ำจนกว่าตัวเลขจะน้อยกว่า 0
-
หาเลขท้ายด้วยการโดดเลข 10
-
เพิ่ม pow(หลัก, digitsCount) เพื่อผลรวม
-
-
หากผลรวมเท่ากับตัวเลข ก็จะเป็นเลขดีซีเรียม อย่างอื่นมันไม่ใช่
ตัวอย่าง
มาดูโค้ดกันเลย
#include <bits/stdc++.h> #include <math.h> using namespace std; int getDigitsCount(int n) { int digitsCount = 0; do { digitsCount++; n = n / 10; } while (n != 0); return digitsCount; } bool isDeseriumNumber(int n) { int originalNumber = n; int digitsCount = getDigitsCount(n); int sum = 0; while (n != 0) { int digit = n % 10; sum += pow(digit, digitsCount); digitsCount--; n = n / 10; } return sum == originalNumber; } int main() { int n = 135; // int n = 123; if (isDeseriumNumber(n)) { cout << "Yes"; } else { cout << "No"; } cout << endl; return 0; }
ผลลัพธ์
หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้
Yes
บทสรุป
หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น