C语言 打印0~100000之内的水仙花数

已知:
//求出0~100000之间的所有“水仙花数”并输出。
//水仙花数”是指一个n位数,其各位数字的n次方之和确好
// 等于该数本身,如:153=1^3+5^3+3^3,则153是一个“水仙花数”。

#include 
#include 
int main()
{
	int arr[6] = { 0 };
	
	for (int i = 0; i <= 100000; i++)
	{
		int result = 0;
		int count = 0;
		int n = i;
		while (n)
		{
			n /= 10;
			count++;
		}
		int q = i;
		for (int j = 0; j < count; j++)
		{
			arr[j] = pow(q % 10, count);
			q /= 10;
		}
		while (count)
		{
			result += arr[count-1];
			count--;
		}
		if (i == result)
		{
			printf("%d ", i);
		}
	}
	return 0;
}

C语言 打印0~100000之内的水仙花数_第1张图片

你可能感兴趣的:(c语言,算法,数据结构)