用C语言输出一个水仙花束
时间: 2023-09-03 21:27:00 浏览: 78
### 回答1:
水仙花数指的是一个三位数,其各位数字的立方和等于该数本身。例如,153就是一个水仙花数,因为 $1^3 + 5^3 + 3^3 = 153$。
下面是用 C 语言输出所有的水仙花数的程序:
```
#include <stdio.h>
#include <math.h>
int main()
{
int i, x, y, z;
for (i = 100; i <= 999; i++) {
x = i / 100; // 获取百位数字
y = (i / 10) % 10; // 获取十位数字
z = i % 10; // 获取个位数字
if (pow(x, 3) + pow(y, 3) + pow(z, 3) == i) {
printf("%d ", i); // 输出水仙花数
}
}
return 0;
}
```
程序会从 100 开始遍历到 999,对于每个三位数,将其拆分成百位、十位和个位数字,并判断其是否为水仙花数。如果是,就输出该数。
### 回答2:
水仙花束是指一个三位数,该数的各个位上的数字的立方和等于它本身,例如153 = 1^3 + 5^3 + 3^3。
要用C语言输出一个水仙花束,我们可以使用循环和条件语句来判断和输出满足条件的数。
以下是一个输出水仙花束的C语言程序示例:
```c
#include <stdio.h>
int main() {
int num, digit, sum;
printf("水仙花束包括:");
for (num = 100; num < 1000; num++) {
sum = 0;
int temp = num;
while (temp > 0) {
digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == num) {
printf("%d ", num);
}
}
printf("\n");
return 0;
}
```
运行以上程序,会输出所有满足条件的水仙花束数,包括153、370、371、407。
### 回答3:
水仙花,也被称为阿姆斯特朗数,是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。用C语言编写一个程序来输出水仙花数。
```c
#include <stdio.h>
#include <math.h>
int main() {
int n, num, sum, current, i;
printf("请输入一个整数n(n>=3):");
scanf("%d", &n);
for (num = pow(10, n-1); num < pow(10, n); num++) {
sum = 0;
current = num;
for (i = 0; i < n; i++) {
sum += pow(current % 10, n);
current /= 10;
}
if (sum == num) {
printf("%d ", num);
}
}
return 0;
}
```
以上C语言程序通过输入一个整数n,然后使用两个循环来遍历所有可能的n位数。内部循环通过取当前数字的每一位,并将其n次方与累加和相加。如果累加和等于当前数字本身,则打印输出该数字。这样就可以输出n位的水仙花数。