全栈博客园 全栈博客园全栈博客园

c言语水仙花数,什么是水仙花数?

水仙花数(Narcissistic number)又称为自恋数、自幂数,是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如:1^3 5^3 3^3 = 153。

在C言语中,咱们能够经过编写一个程序来找出一切的水仙花数。以下是一个简略的C言语程序,用于找出一切的三位数水仙花数:

```cinclude

int main { int num, originalNum, remainder, result = 0, n = 0;

printf; for { originalNum = num; result = 0; while { remainder = originalNum % 10; result = remainder remainder remainder; originalNum /= 10; } if { printf; } }

return 0;}```

这段代码的作业原理如下:

1. 咱们首要界说了一个循环,它遍历一切的三位数(从100到999)。2. 关于每个数字,咱们初始化`result`为0,然后核算它的每个位上数字的立方和。3. 咱们经过`remainder`变量获取当时数字的最终一位,并将其立方加到`result`中。4. 咱们经过除以10来移除当时数字的最终一位。5. 当`originalNum`变为0时,循环完毕。6. 假如`result`等于原始数字`num`,则咱们找到了一个水仙花数,并将其打印出来。

这个程序只会找出三位数的水仙花数。假如你想要找出更多位数的水仙花数,你需要对程序进行相应的调整。

什么是水仙花数?

水仙花数,又称为阿姆斯特朗数,是一个特别的数学概念。它指的是一个n位数(n>3),其每个位上的数字的n次幂之和等于它本身。例如,153是一个三位数的水仙花数,由于1^3 5^3 3^3 = 153。

水仙花数的发现与前史

水仙花数的概念最早能够追溯到17世纪,由英国数学家约翰·哈里森提出。这个概念因其共同的性质而遭到数学爱好者的重视。跟着时刻的推移,人们发现水仙花数不仅仅存在于三位数中,还能够扩展到四位数、五位数等。

水仙花数的核算方法

要核算一个数是否为水仙花数,咱们能够依照以下过程进行:

确定要查看的数的位数n。

将这个数分解为各个位上的数字。

核算每个位上数字的n次幂之和。

将核算得到的和与原数进行比较。

假如持平,则该数为水仙花数;不然,不是。

水仙花数的C言语完成

下面是一个运用C言语完成水仙花数检测的简略示例程序:

```c

include

include

int isNarcissistic(int number) {

int originalNumber = number;

int sum = 0;

int n = 0;

int temp = number;

// 核算位数

while (temp != 0) {

n ;

temp /= 10;

}

temp = number;

// 核算每个位上数字的n次幂之和

while (temp != 0) {

int digit = temp % 10;

sum = pow(digit, n);

temp /= 10;

}

// 比较和原数是否持平

return sum == originalNumber;

int main() {

int number;

printf(\

未经允许不得转载:全栈博客园 » c言语水仙花数,什么是水仙花数?