利用c语言帮我写一个找水仙花数的程序
时间: 2023-12-02 12:03:16 浏览: 72
好的,以下是利用C语言编写的找水仙花数的程序:
#include<stdio.h>
int main()
{
int i,j,k,num;
printf("水仙花数有:");
for(i=1;i<=9;i++)
for(j=0;j<=9;j++)
for(k=0;k<=9;k++)
{
num=i*100+j*10+k;
if(num==i*i*i+j*j*j+k*k*k)
printf("%d ",num);
}
printf("\n");
return 0;
}
这个程序可以找到所有三位数中的水仙花数并输出,水仙花数指的是一个三位数,其各个数字立方和等于该数本身,例如153就是一个水仙花数,因为1³+5³+3³=153。
相关问题
利用C语言编写程序,打印水仙花数。要求写一个函数,用于判断一个数是否为“水仙花数”。调用该函数打印出所有水仙花数。 所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。
以下是利用C语言编写的程序,可以打印出所有水仙花数:
#include<stdio.h>
// 判断一个数是否为“水仙花数”的函数
int isNarcissisticNumber(int n)
{
int sum = 0, temp = n;
while(temp > 0)
{
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if(sum == n)
return 1;
else
return 0;
}
int main()
{
printf("水仙花数有:\n");
for(int i=100; i<=999; i++)
{
if(isNarcissisticNumber(i))
{
printf("%d ", i);
}
}
printf("\n");
return 0;
}
运行结果如下:
水仙花数有:
153 370 371 407
水仙花数是各位数字立方之和等于数字本身的三位整数,如153是水仙花数,因为153=13+53+33,利用C语言编写程序求出所有的水仙花数并输出。
好的,以下是利用 C 语言编写的求解水仙花数的程序:
#include <stdio.h>
int main()
{
int i, j, k, n;
for (n = 100; n <= 999; n++)
{
i = n / 100;
j = (n % 100) / 10;
k = n % 10;
if (i * i * i + j * j * j + k * k * k == n)
printf("%d\n", n);
}
return 0;
}
程序中使用了一个 for 循环,枚举了从 100 到 999 的所有三位数。对于每个三位数,我们将其分解为百位、十位和个位,然后判断是否满足水仙花数的定义。如果满足,就将其输出。
希望这个程序可以帮到你!
相关推荐
















