Deserium 数,带有 C++ 程序示例


在本教程中,我们将学习有关带示例的 Deserium 数。

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

让我们了解以下步骤,以查找给定的数字是否是deserium number

  • 初始化数字。

  • 查找数字的位数。

  • 初始化变量以存储和。

  • 重复执行,直至数字小于 0。

    • 通过将数字除以 10 获取最后一位数字。

    • pow(digit, digitsCount) 添加到和中。

  • 如果和等于数字,则它就是deserium number,否则不是。

示例

我们来看看代码。

 在线演示

#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

结论

如果你对本教程有任何疑问,请在评论区中提出。

更新于: 2021 年 1 月 27 日

85 人浏览

开启你的职业生涯

完成课程获得认证

立即开始
广告