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

发布时间:2024年01月24日

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

#include <stdio.h>
#include <math.h>
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;
}

文章来源:https://blog.csdn.net/2302_80341024/article/details/135824478
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。