21xrx.com
2024-09-20 00:56:06 Friday
登录
文章检索 我的文章 写文章
C++代码:水仙花数1000999
2023-06-23 18:06:15 深夜i     --     --
C++ 水仙花数 100099

在C++编程世界当中,水仙花数是一个经典的数学问题。所谓的水仙花数,是指一个三位数的各个位上数字的立方和,恰好等于该数本身。比如,153就是一个水仙花数,因为1的三次幂加上5的三次幂加上3的三次幂,正好等于153。

今天,我们来挑战更高难度的水仙花数。不再是三位数,而是六位数,范围是1至1000999。怎么样,听上去就很有挑战性吧?

那么该怎样通过C++代码来寻找这些六位数的水仙花数呢?下面提供一份参考代码:


#include <iostream>

using namespace std;

int main()

{

  for (int i = 1; i <= 1000999; i++)

  {

    int num = i, sum = 0;

    while (num > 0)

    {

      int digit = num % 10;

      sum += digit * digit * digit * digit * digit * digit;

      num /= 10;

    }

    if (sum == i)

    

      cout << i << endl;

    

  }

  return 0;

}

这段简单的代码使用了循环语句,从1开始遍历到1000999。对于每个六位数,我们将其分解为个位、十位、百位、千位、万位和十万位,分别求出它们的六次方,然后将这些六次方相加。如果得到的结果与原数字相等,那么就找到了一个水仙花数,输出到控制台。

当然,这个程序会有点慢,因为需要对1至1000999这么多数字进行循环计算,但是最终,它还是能够给出所有六位数的水仙花数。

在实际编程过程中,我们可以对代码进行优化,例如增加一些判断条件和特殊情况处理,从而让程序更加精确、高效。不过,对于初学者来说,这份简单的代码已经足够了。让我们来试试,看看这些六位数的水仙花数有哪些吧!

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复