欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

判断水仙花数

程序员文章站 2022-04-06 16:16:48
...

一种简单的判断是否是水仙花数

思路:
1.把一个数拆分,保存在数组中
2.判断是否是水仙花数

完整代码

#include <stdio.h>
#include <math.h>

int storage(int i,int arr[])
{
	int count = 0;
	while (i)
	{
		arr[count] = i % 10;
		i /= 10;
		count++;
	}
	return count;		//返回的是数字一共有多少位
}

void IfRifht(int n, int count, int arr[])
{
	int i = 0;
	double sum = 0;
	for (i = 1; i <= count; i++)
	{
		if (arr[i-1] == 0)	//如果是0,就不用后面的运算了
			continue;
		sum += pow(arr[i-1], count);
	}
	if (n == sum)	//是否是水仙花数
	{
		printf("%d ", n);
	}
}

int main()
{
	int i = 0;
	for (i = 1; i < 100001; i++)
	{
		int arr[10] = { 0 };
		int ret = storage(i, arr);	//接受数字有多少位
		IfRifht(i,ret, arr);		//判断是否是水仙花数
	}
	
	return 0;
}