请你用C语言找出100到1000的水仙花数
时间: 2023-09-26 12:14:55 浏览: 105
Sure, 我可以用C语言找出100到1000的水仙花数。以下是代码:
#include <stdio.h>
#include <math.h>
int main()
{
int i, num, digit, sum;
printf("水仙花数列表:\n");
for(i=100;i<=1000;i++)
{
sum = 0;
num = i;
while(num > 0)
{
digit = num % 10;
sum += pow(digit, 3);
num = num / 10;
}
if(i == sum)
{
printf("%d\n", i);
}
}
return 0;
}
希望对你有帮助!
相关问题
用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。
100到1000水仙花数c语言
以下是C语言代码,用于找出100到1000之间的水仙花数:
#include <stdio.h>
#include <math.h>
int main() {
int num, originalNum, remainder, n = 0, result = 0;
for(num = 100; num <= 1000; num++) {
originalNum = num;
while (originalNum != 0) {
originalNum /= 10;
++n;
}
originalNum = num;
while (originalNum != 0) {
remainder = originalNum % 10;
result += pow(remainder, n);
originalNum /= 10;
}
if (result == num) {
printf("%d ", num);
}
n = 0;
result = 0;
}
return 0;
}