您的位置:首页 >动态 > 互联数码科普 >

✨ C++实验 —— 自幂数(数学黑洞你怕不怕) 🕵️‍♂️_自幂数c++

导读 🚀 引言在这个充满挑战的世界里,我们总是对那些神秘而又迷人的数学概念充满了好奇。今天,我们将一起探索一个特别有趣的数学现象——自幂

🚀 引言

在这个充满挑战的世界里,我们总是对那些神秘而又迷人的数学概念充满了好奇。今天,我们将一起探索一个特别有趣的数学现象——自幂数,也被称为水仙花数。它是一种特殊的数字,其每一位数字的幂次方之和等于该数字本身。这听起来就像是数学中的一个小黑洞,吸引着每一个对数学感兴趣的人。让我们一起用C++来揭开它的神秘面纱吧!🔍

💡 什么是自幂数?

简单来说,自幂数是指一个n位数,其各位数字的n次幂之和等于这个数本身。比如,153是一个三位数,而1^3 + 5^3 + 3^3 = 153,因此它就是一个自幂数。

🛠️ C++代码实现

下面是一个简单的C++程序,用来找出一定范围内的所有自幂数:

```cpp

include

include

bool isNarcissistic(int num) {

int originalNum, remainder, n = 0, result = 0;

originalNum = num;

// 计算数字的位数

for (n = 0; originalNum != 0; ++n) {

originalNum /= 10;

}

originalNum = num;

while (originalNum != 0) {

remainder = originalNum % 10;

result += pow(remainder, n);

originalNum /= 10;

}

return result == num;

}

int main() {

std::cout << "找到的所有自幂数有:" << std::endl;

for (int i = 100; i <= 999; ++i) { // 假设只找三位数的自幂数

if (isNarcissistic(i)) {

std::cout << i << " ";

}

}

return 0;

}

```

📜 总结

通过今天的实验,我们不仅了解了自幂数的定义和特性,还亲手编写了一个简单的C++程序来找出特定范围内的所有自幂数。这是一个很好的练习,既锻炼了编程技能,又增加了对数学的兴趣。希望你能从中获得乐趣,并继续探索更多数学的奥秘!🌟

免责声明:本文由用户上传,如有侵权请联系删除!