首页 > 其他分享 >水仙花数问题

水仙花数问题

时间:2023-03-26 13:00:49浏览次数:27  
标签:tmp 10 int pow sum 问题 水仙花

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
	//输出0-100000内的自幂数(水仙花数)
	int i = 0;
	for (i = 0; i < 1000000; i++)
	{
		//判断i是否为自幂数(水仙花数)
		//1.计算i的位数--n位数
		int n = 1;
		int tmp = i;
		int sum = 0;
		while (tmp / 10)
		{
			n++;
			tmp = tmp / 10;
		}
		//2.计算i的每一位的n次方之和 sum
		tmp = i;
		while (tmp)
		{
			sum = sum + pow(tmp % 10, n);//pow函数计算每一位的n次方
			tmp = tmp / 10;
		}
		//3.比较i==sum
		if (i == sum)
		{
			printf("%d  ", i);
		}
	}
	return 0;
}


标签:tmp,10,int,pow,sum,问题,水仙花
From: https://blog.51cto.com/u_16003640/6150265

相关文章