ในบทช่วยสอนนี้ เราจะมาเรียนรู้เกี่ยวกับตัวเลขดีซีเรียมพร้อมตัวอย่าง
จำนวนที่มีผลรวมของ 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
บทสรุป
หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น