C语言:水仙花

//水仙花数

也就是指一个 3 位数,它的每个单位上的数字的 3次方之和等于它本身

(例如:1^3 + 5^3+ 3^3 = 153)。

#include<stdio.h>
int main()
{
	//水仙花数 153 = 1 + 5^3 + 3^3
	int i, j, num,sum, d;
	int t;
	int s;
	num = 3;
	int temp = 100; 
	for(i = temp; i < temp*10; i++)
	{
		t = i;
		sum = 0;
		while(t > 0)
		{
			s = 1;
			d = t%10;
			t /= 10;
			for(j = 0; j < num; j++)//num=3 
			{	
				s *= d;//三次方 
			}
			sum += s;
			
		}
		
		if(sum == i)//判断是否符合水仙花的条件 
		{
			printf("%d\n", i);
		}
	}
	
	
	
	return 0;
}

posted @ 2022-03-12 21:31  竹等寒  阅读(2)  评论(0编辑  收藏  举报  来源