计算水仙花数

该博客给出一段C语言代码,用于输出所有水仙花数。水仙花数是指一个3位数,其各位数字的立方和等于该数本身。代码通过循环遍历100到999的数,计算各位数字立方和并与原数比较,若相等则输出该数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
 有道题是输出所有的水仙花数,水仙花数是指一个3位数,
 其各位数字的立方和等于该数本身。例如:153=1的3次方+5的3次方+3的3次方。
*/

#include <iostream>
#include <conio.h>

using namespace std;

#define TRIMP(x) (x)*(x)*(x)

int main()
{
 cout<<"水仙花数有:"<<endl;

 int b, c, d, tmp;
 b = c = d = 0;
 for(int n = 100; n<=999; ++n)
 {
  b = TRIMP(n/100);
  c = TRIMP((n%100)/10);
  d = TRIMP((n%100)%10);
  tmp = b + c + d;
  if(n == tmp)
   cout << n << endl;
 }

 getch();
 return 0;
}

### 使用JavaScript在HTML页面中计算水仙花 为了实现这一功能,可以创建一个简单的HTML文档,在其中嵌入一段用于检测并显示所有三位范围内的水仙花的JavaScript代码。下面是一个完整的例子: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>寻找水仙花</title> </head> <body> <h2>以下是所有的水仙花:</h2> <p id="narcissisticNumbers"></p> <script> // 定义函来找出所有的水仙花 function findNarcissisticNumbers() { let result = []; // 遍历100到999之间的每一个字 for (let num = 100; num <= 999; num++) { const digits = String(num).split(''); // 计算各个位上的立方和 const sumOfCubes = digits.reduce((acc, digit) => acc + Math.pow(parseInt(digit), 3), 0); // 如果该值等于其各位字立方之和,则为水仙花 if (sumOfCubes === num) { result.push(num); } } return result; } // 将找到的结果展示出来 document.getElementById('narcissisticNumbers').innerHTML = findNarcissisticNumbers().join(', '); </script> </body> </html> ``` 上述代码定义了一个`findNarcissisticNumbers()`函,它遍历了从100至999的所有整,并通过检查这些整是否满足水仙花条件——即它们各自位置上三个字的三次方相加得到原本身——来进行筛选[^1]。 一旦找到了符合条件的水仙花,就将其添加到组中;最后再把整个结果集转换成字符串形式并通过修改DOM节点的内容呈现在网页上[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值