栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【C#练习】打印0~100000所有‘“水仙花数”

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C#练习】打印0~100000所有‘“水仙花数”

水仙花数:一个n位数,各位数的n次方之和等于本身

例:153 = 1*3 + 5*3 + 3*3 , 1634 = 1*4 + 6*4 + 3*4 + 4*4

#include
#include

int main()
{
	int count = 0;//求有几位数的变量
	int ret = 0;//存放最后结果
	int num = 0;//存放数字
	for (int i = 0; i <= 100000; i++)
	{
		ret = 0;
		count = 1;//每位数至少有一位
		num = i;//为了不让 i 发生改变,所以将 i 赋值给 num
		while (num /= 10)//若num/10不为0则位数count++,顺便将num/10赋给num
			count++;
		num = i;//因为num发生了改变,所以再次赋值
		while (num)
		{
			ret += pow(num%10,count);//num%10得到最后一位数
			//库函数pow(),表示求num%10的count次方,需包含
			num /= 10;//num/10消去最后一位数
		}
		if (ret == i)
			printf("%d ", i);
	}
	return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/917082.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号