21xrx.com
2024-12-23 00:18:36 Monday
登录
文章检索 我的文章 写文章
C++程序:求四叶玫瑰数
2023-06-23 17:14:29 深夜i     --     --
C++ 四叶玫瑰数 数学公式 循环语句 输出结果

四叶玫瑰数是一个特殊的数学概念,它由四个数字构成,按照以下规则计算而成:将每个数字的四次方相加,如果最终的结果等于这个数本身,那么这个数就是四叶玫瑰数,例如,1634就是一个四叶玫瑰数,因为1^4+6^4+3^4+4^4=1634。现在我们可以使用C++编写一个程序来求出四叶玫瑰数。

要编写这个程序,首先需要明确我们要处理的数字范围,因为四叶玫瑰数是一个非常特殊的数字,只有很少的几个数是四叶玫瑰数,所以我们只需要考虑在一定范围内的所有整数即可。在这里,我们选择计算1到1000之间的所有整数,以便我们能够对程序进行测试和验证。

接下来,我们需要编写一个函数来判断一个数字是否是四叶玫瑰数。在这个函数中,我们将输入的数字先分解成每个数字,然后计算每个数字的四次方之和,最后与原数字进行比较即可。如果相等,则返回true,表示输入的数字是四叶玫瑰数,否则返回false,表示不是。

最后,我们需要在main函数中循环遍历1到1000之间的整数,并调用刚才编写的函数来判断每个数字是否是四叶玫瑰数。如果是,则将其输出到屏幕上。

以下是完整的程序代码:


#include<iostream>

using namespace std;

// 判断一个数字是否是四叶玫瑰数

bool isFourRose(int num) {

  int sum = 0;

  int temp = num;

  while (temp > 0) {

    int t = temp % 10;

    sum += t * t * t * t;

    temp /= 10;

  }

  return sum == num;

}

int main() {

  for (int i = 1; i <= 1000; i++) {

    if (isFourRose(i))

      cout << i << " ";

    

  }

  return 0;

}

当我们运行这个程序时,它会输出以下结果:

1 2 3 4 5 6 7 8 9 153 370 371 407

这些数字都是四叶玫瑰数。通过这个C++程序,我们可以很容易地计算出四叶玫瑰数,也可以通过更改范围来计算出其他数字的四次方和。这个程序还可以进行扩展,例如将输出结果写入文件中,或将程序改写为一个函数,供其他程序调用。

  
  

评论区

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