21xrx.com
2024-11-22 07:42:30 Friday
登录
文章检索 我的文章 写文章
求解C++语言在范围m到n内的水仙花数
2023-07-05 04:11:18 深夜i     --     --
C++语言 范围 水仙花数 求解

水仙花数是指一个n位数(n≥3),其各位数字的n次方和等于该数本身。例如,153就是一个水仙花数,因为1³+5³+3³=153。

在C++语言中,我们可以使用循环语句和条件语句来求解范围m到n内的水仙花数。

首先,我们需要定义两个变量m和n来表示范围。然后,在使用循环语句遍历范围内的每一个数,判断是否为水仙花数。

具体步骤如下:

1. 定义变量m和n,分别表示范围的起始和终止值;

2. 使用for循环语句遍历m到n之间的每一个数;

3. 在循环中,定义一个临时变量num,用来保存当前遍历的数;

4. 使用while循环语句将num的每一位数字取出,并计算其n次方和;

5. 判断n次方和是否等于num,若相等,则输出该数为水仙花数。

下面是C++代码实现:


int m = 100;

int n = 1000;

for (int i = m; i <= n; i++) {

  int num = i;

  int sum = 0;

  while (num) {

    int digit = num % 10;

    sum += digit * digit * digit;

    num /= 10;

  }

  if (sum == i)

    cout << i << " is a Narcissistic number." << endl;

  

}

这段代码使用了for循环遍历范围内的每一个数,然后在循环中使用while循环将每一位数字取出,并进行n次方求和。最后,使用条件语句判断是否为水仙花数,并输出结果。

使用这个方法求解范围m到n内的水仙花数非常简单,只需要修改变量m和n的值即可。

  
  

评论区

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