C语言经典算法题目——打印水仙花数

 “水仙花”数指的是一个3位数,它的每个位数字的三次幂之和等于它本身

举一个例子:

153=1x1x1+5x5x5+3x3x3

我们先来看看运行的结果

下面是程序实现的代码

#include<stdio.h>
int main()
{
	int i,j,k,t=0;//定义i,j,k三个变量,分别代表个位,十位,百位,t代表水仙花数的个数
	printf("打印出的水仙花数:\n");
	for(i=1;i<=10;i++)
		for(j=0;j<=9;j++)
			for(k=0;k<=9;k++)
			{
				if(i*i*i+j*j*j+k*k*k>999)
				break;//超过三位数,跳出循环 
				if(i*i*i+j*j*j+k*k*k==i*100+j*10+k)
				{
				t++;
				printf("%d ",i*i*i+j*j*j+k*k*k);
				}
			}
			printf("\n");
		printf("水仙花的个数:%d",t);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/caidewei121/article/details/84646552