Deserium编号以及C ++程序中的示例

在本教程中,我们将通过示例学习有关氘的数字。

总和pow(digit, digitsCount)等于给定数字的数字称为Deserium数字

让我们看一下查找给定数字是否为氘数的步骤。

  • 初始化号码。

  • 查找数字的位数。

  • 初始化变量以存储和。

  • 迭代直到数字小于0。

    • 通过将数字乘以10得到最后一位数字。

    • 添加pow(digit, 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

结论