用c语言计算出100以内的水仙花数的和
时间: 2024-05-20 15:18:16 浏览: 13
可以,水仙花数指的是一个n位数 ( n>=3 ), 它的每个位上的数字的 n 次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。以下是用 c 语言计算100以内的水仙花数的和的代码:
#include <stdio.h>
#include <math.h>
int main()
{
int i, j, k, num, sum = 0;
for (i = 1; i < 10; i++)
{
for (j = 0; j < 10; j++)
{
for (k = 0; k < 10; k++)
{
num = i * 100 + j * 10 + k;
if (num == pow(i, 3) + pow(j, 3) + pow(k, 3))
{
sum += num;
}
}
}
}
printf("100以内的水仙花数的和为:%d\n", sum);
return 0;
}
相关问题
c语言计算出所有的水仙花数并打印
好的,我可以帮您实现这个功能。以下是 C 语言实现水仙花数的代码:
```c
#include <stdio.h>
int main() {
int num, sum, digit;
for (int i = 100; i <= 999; i++) {
num = i;
sum = 0;
while (num > 0) {
digit = num % 10;
sum += digit * digit * digit;
num /= 10;
}
if (i == sum) {
printf("%d ", i);
}
}
return 0;
}
```
运行此程序,您可以得到所有的水仙花数。请注意,水仙花数是指一个 3 位数,它的每个位上的数字的立方和等于它本身(例如:153 = 1^3 + 5^3 + 3^3)。
用C语言找出1000以内的水仙花数
水仙花数是指一个n位正整数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如,153就是一个水仙花数,因为1的3次方+5的3次方+3的3次方=153。
可以使用以下代码来找出1000以内的水仙花数:
```c
#include <stdio.h>
int main()
{
int i, j, k, num;
for(i = 1; i < 10; i++)
{
for(j = 0; j < 10; j++)
{
for(k = 0; k < 10; k++)
{
num = i * 100 + j * 10 + k;
if(num == i*i*i + j*j*j + k*k*k)
{
printf("%d ", num);
}
}
}
}
return 0;
}
```
这段代码使用三层循环,枚举所有的三位数。对于每个三位数,判断它是否是水仙花数,如果是就输出。最终输出的结果为153、370、371和407。