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

Deserium Number พร้อมตัวอย่างในโปรแกรม C++


ในบทช่วยสอนนี้ เราจะมาเรียนรู้เกี่ยวกับตัวเลขดีซีเรียมพร้อมตัวอย่าง

จำนวนที่มีผลรวมของ 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

บทสรุป

หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น